{"id":13562694,"url":"https://github.com/termux/termux-docker","last_synced_at":"2025-04-04T22:08:42.302Z","repository":{"id":37744557,"uuid":"213771490","full_name":"termux/termux-docker","owner":"termux","description":"Termux environment packaged as Docker image.","archived":false,"fork":false,"pushed_at":"2024-01-17T02:50:58.000Z","size":14513,"stargazers_count":439,"open_issues_count":6,"forks_count":66,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-04-13T21:41:36.876Z","etag":null,"topics":["docker","environment","linux","termux"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/termux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-08T22:53:52.000Z","updated_at":"2024-04-13T11:23:11.000Z","dependencies_parsed_at":"2024-01-22T20:25:16.745Z","dependency_job_id":null,"html_url":"https://github.com/termux/termux-docker","commit_stats":{"total_commits":112,"total_committers":15,"mean_commits":7.466666666666667,"dds":0.4017857142857143,"last_synced_commit":"e3c861f5b6cb762d3d99f6d6e6dd78cdffe109b6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/termux%2Ftermux-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/termux","download_url":"https://codeload.github.com/termux/termux-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208460,"owners_count":20901570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","environment","linux","termux"],"created_at":"2024-08-01T13:01:11.282Z","updated_at":"2025-04-04T22:08:42.283Z","avatar_url":"https://github.com/termux.png","language":"Dockerfile","readme":"# Termux environment for Docker/Podman.\n\nA [Termux](https://termux.com) environment packaged into Docker image.\nEnvironment doesn't have Android runtime components, so certain things will\nnot be available (DalvikVM, OpenSLES, etc...).\n\n## How to use\n\n### Requirements\n\nYou should have a properly configured and running Docker or Podman\ncontainer systems. Further instructions will provide examples only for\nDocker.\n\n### Basic usage\n\nThis will start interactive login shell. Everything will look like in a\nnormal Termux installation.\n\n```.sh\ndocker run -it termux/termux-docker:latest\n```\n\nWhen using the tag `latest`, container will be 32 bit (i686 architecture).\n\nOther architecture can be installed using a different tags. Available\ntags:\n\n- `aarch64`\n- `arm`\n- `i686` (`latest`)\n- `x86_64`\n\nIf architecture is not compatible with host, the additional setup will\nbe needed. Read this document further to learn how you can run containers\nof incompatible CPU architecture.\n\n**Important note**: do not pass `--user` option to Docker command line.\nThe initial user of container must be root. Otherwise DNS will be broken\nbecause of `dnsmasq` server failure.\n\n### Running ARM containers on x86 host\n\nIn order to run AArch64 container on x86(64) host, you need to setup\nQEMU emulator through binfmt_misc. This can be easily done by one\ncommand:\n\n```.sh\ndocker run --rm --privileged aptman/qus -s -- -p aarch64 arm\n```\n\nNote that AArch64 and ARM containers work properly only in privileged\nmode. If you want your containers to have standard privileges, a custom\nseccomp profile is required.\n\nVariant with privileged container:\n\n```.sh\ndocker run -it --privileged termux/termux-docker:aarch64\n```\n\nVariant with seccomp unconfined profile:\n\n```.sh\ndocker run -it --security-opt seccomp:unconfined termux/termux-docker:aarch64\n```\n\n### Non-interactive execution of commands\n\nYou can run commands in non-interactive mode. Just append them to Docker\ncommand line.\n\nExample:\n\n```.sh\ndocker run -it --rm termux/termux-docker:latest bash -c \"apt update \u0026\u0026 apt install -yq clang\"\n```\n\n### Root shell\n\nBy default root shell is disabled in container as Termux doesn't really\nsupport usage of package manager under root account. In cases where you\nreally need shell with root privileges, entrypoint should be overridden.\n\nThe provided images have 2 entry points:\n\n- `/entrypoint.sh` - the standard one which drops privileges to `system`\n  user.\n- `/entrypoint_root.sh` - alternate entrypoint that does not drop privileges.\n\nUsage example:\n\n```.sh\ndocker run -it --entrypoint /entrypoint_root.sh termux/termux-docker:latest\n```\n\n## Building image\n\nDocker:\n\n```.sh\n./build-all.sh\n```\n\nPodman:\n\n```.sh\n./build-all.sh --podman\n```\n\n## Known issues\n\nThere a number of known issues which may not be resolved:\n\n* ARM containers may require a custom seccomp profile to remove restrictions from\n  `personality()` system call.\n\n* When running certain multi threaded program in 32bit containers, the PIDs can \n  balloon and easily exceed libc's limit. The only way to fix this is to set \n  `/proc/sys/kernel/pid_max` to 65535. See [termux-docker#40](https://github.com/termux/termux-docker/issues/40).\n","funding_links":[],"categories":["Dockerfile"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftermux%2Ftermux-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftermux%2Ftermux-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftermux%2Ftermux-docker/lists"}