Home
Softono

Termux Udocker

Open source Shell
363
Stars
36
Forks
3
Issues
7
Watchers
3 months
Last Commit

 About Termux Udocker

Run Docker images in Termux via Udocker. No root, no qemu-VM, much faster.

Platforms

Web Self-hosted Docker Android

Languages

Shell

Links

Need Help Installing Termux Udocker?

We provide expert installation service for this software. Our team will install, configure, and secure Termux Udocker on your server. plans start at just $30.

Termux Udocker

View on GitHub

Description

Correctly configures Udocker so that it works properly in Termux.

Update - Thanks to @IntinteDAO, udocker is now officially available in the Termux APT Repo. I've updated the configs to use it.


What's Udocker?

It's a user-space implementation of Docker.

This means that it can, without root or custom-kernel, run Docker images and containers.

And it does this without spinning up an entire qemu-VM, which makes it much, much faster than any other alternatives.

https://f-droid.org/en/packages/com.termux/

https://github.com/indigo-dc/udocker


Instructions

In Termux -

pkg i git -y && git clone --depth 1 https://github.com/George-Seven/Termux-Udocker ~/Termux-Udocker; git -C ~/Termux-Udocker pull; bash ~/Termux-Udocker/install_udocker.sh

And done.

Help text

udocker --help

Keep it updated

cd ~/Termux-Udocker; git pull

Examples

Here are example scripts provided for some popular Docker images -

[!NOTE] Popular Docker repos provide 64-bit images, but not all of them provide the older 32-bit images.

Running uname -m, if it shows 64, then your phone is 64-bit. Which means it'll work for everything given below.

You can still check if the repo supports 32-bit by checking the tag link next to the name.


Name: Stirling PDF (frooodle/s-pdf:latest)

~/Termux-Udocker/s-pdf.sh

Connect to it at - http://localhost:8080


Name: Home-Assistant (homeassistant/home-assistant:latest)

~/Termux-Udocker/home-assistant.sh

Connect to it at - http://localhost:8123


Name: Jupyter (quay.io/jupyter/base-notebook:latest)

~/Termux-Udocker/jupyter.sh

Connect to it at - http://localhost:8888


Name: Nextcloud (nextcloud:latest)

~/Termux-Udocker/nextcloud.sh

Connect to it at - http://localhost:2080


Name: ownCloud (owncloud/server:latest)

~/Termux-Udocker/owncloud.sh

Connect to it at - http://localhost:2081


Name: Calibre-Web (lscr.io/linuxserver/calibre:latest)

~/Termux-Udocker/calibre-web.sh

Connect to it at - http://localhost:8031

[!NOTE] Default Calibre-Web -
username: admin
password: admin123


Name: HTTPD (httpd:latest)

~/Termux-Udocker/httpd.sh

Connect to it at - http://localhost:2082


Name: Redis (redis:latest)

~/Termux-Udocker/redis.sh

Connect to it at - http://localhost:6379


Name: Jellyfin (jellyfin/jellyfin:latest)

~/Termux-Udocker/jellyfin.sh

Connect to it at - http://localhost:8096


Name: JDownloader (antlafarge/jdownloader:dev-alpine-openjdk17)

JD_EMAIL="your_email" JD_PASSWORD="your_password" JD_DEVICENAME="my_mobile" ~/Termux-Udocker/jdownloader.sh

Connect to it at - https://my.jdownloader.org/ or Android client.

[!NOTE] For authentication, replace your_email with login email, and your_password with login password.

Downloads and configs stored in folder Downloads/JDownloader


Name: Puter (ghcr.io/heyputer/puter:latest)

~/Termux-Udocker/puter.sh

Connect to it at - http://puter.localhost:4100


ROS - Robot Operating System (ghcr.io/sloretz/ros:jazzy-ros-base)

~/Termux-Udocker/ros.sh

Customize

Change Port

PORT=9080 ~/Termux-Udocker/s-pdf.sh

Add PORT=number before the script. Port must be from 1024~65535.


Run custom commands

To override the default startup commands, append your own commands after the script, like this -

~/Termux-Udocker/s-pdf.sh 'echo hello world; echo hi'

Tips

List containers

udocker ps

Remove containers

udocker rm "container_name"

List images

udocker images

Remove images

udocker rmi "image_name"