Termux Udocker: Run Docker images in Termux using proot

1 day ago 4

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.


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


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.

cd ~/Termux-Udocker; git pull

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.


~/Termux-Udocker/s-pdf.sh

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


~/Termux-Udocker/home-assistant.sh

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


~/Termux-Udocker/jupyter.sh

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


~/Termux-Udocker/nextcloud.sh

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


~/Termux-Udocker/owncloud.sh

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


~/Termux-Udocker/calibre-web.sh

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

Note

Default Calibre-Web -
username: admin
password: admin123


~/Termux-Udocker/httpd.sh

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


~/Termux-Udocker/redis.sh

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


~/Termux-Udocker/jellyfin.sh

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


~/Termux-Udocker/puter.sh

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



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

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


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'

udocker rm "container_name"

Read Entire Article