├── README.md └── alpine.sh /README.md: -------------------------------------------------------------------------------- 1 | # Install 2 | 3 | ``` 4 | bash <(curl -fsSL https://raw.githubusercontent.com/Ptechgithub/termux-docker/main/alpine.sh) 5 | ``` 6 | 7 | # localhost 8 | 9 | `` 10 | mkdir -p /etc/udhcpc 11 | `` 12 | 13 | `` 14 | echo "RESOLV_CONF=\"no\"" > /etc/udhcpc/udhcpc.conf 15 | `` 16 | 17 | `` 18 | echo "nameserver 1.1.1.1" > /etc/resolv.conf 19 | `` 20 | 21 | `` 22 | echo "nameserver 8.8.8.8" >> /etc/resolv.conf 23 | `` 24 | 25 | `` 26 | setup-alpine 27 | `` 28 | 29 | --------------------------------- 30 | # alpine 31 | 32 | `` 33 | rc-update add networking 34 | `` 35 | 36 | `` 37 | poweroff 38 | `` 39 | 40 | `` 41 | apk update 42 | `` 43 | 44 | ``` 45 | ssh root@localhost -p 2222 46 | vi /etc/ssh/sshd_config 47 | AllowTcpForwarding yes 48 | GatewayPorts yes 49 | service sshd restart 50 | 51 | ssh -L 8080:localhost:80 -N -f root@localhost -p 2222 52 | 53 | ``` 54 | - ps -aux 55 | 56 | 57 | # part2 58 | ## Alpine 59 | ``` 60 | 61 | vi /etc/apk/repositories 62 | 63 | please Uncomment line 3 64 | 65 | apk update 66 | 67 | apk add docker 68 | service docker start 69 | service docker status 70 | rc-update add docker boot 71 | ``` 72 | 73 | # docker in termux 74 | 75 | 76 | ``` 77 | ## Termux 78 | 79 | pkg update -y 80 | pkg install root-repo -y 81 | pkg install docker -y 82 | 83 | # alpine 84 | 85 | service docker start 86 | service docker stop 87 | dockerd -H tcp://0.0.0.0:2074 --iptables=false 88 | 89 | # termux 90 | export DOCKER_HOST=localhost:2074 91 | echo "export DOCKER_HOST=localhost:2074" >> ~/.bashrc ; bash 92 | 93 | ``` 94 | 95 | # step 3 96 | GUI --> Install Portainer 97 | 98 | ``` 99 | docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest 100 | ``` 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /alpine.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | check_dependencies() { 4 | local dependencies=("wget" "curl" "qemu-system-x86-64-headless" "qemu-utils" "root-repo" "openssh") 5 | 6 | for dep in "${dependencies[@]}"; do 7 | if ! command -v "${dep}" &> /dev/null; then 8 | echo "${dep} is not installed. Installing..." 9 | pkg install "${dep}" -y 10 | fi 11 | done 12 | } 13 | 14 | step1() { 15 | # Update the system and install required packages 16 | pkg update -y 17 | pkg upgrade -y 18 | pkg update 19 | check_dependencies 20 | 21 | # Create a directory and download Alpine Linux ISO 22 | mkdir alpine && cd alpine 23 | wget https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-virt-3.18.3-x86_64.iso 24 | 25 | # Ask the user for storage size or use default (10GB) 26 | read -p "Enter the storage size in gigabytes (default: 10): " storage 27 | storage="${storage:-10}" 28 | qemu-img create -f qcow2 alpine.qcow2 "${storage}G" 29 | 30 | # Ask the user for RAM size or use default (512MB) 31 | read -p "Enter the RAM size in megabytes (default: 512): " ram_size 32 | ram_size="${ram_size:-512}" 33 | qemu-system-x86_64 -m "${ram_size}" -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 -cdrom alpine-virt-3.18.3-x86_64.iso -nographic alpine.qcow2 34 | } 35 | 36 | step2() { 37 | # Ask the user for RAM size or use default (512MB) 38 | read -p "Enter the RAM size in megabytes ( default: 512 ): " ram_size 39 | ram_size="${ram_size:-512}" 40 | a="qemu-system-x86_64 -m "${ram_size}" -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::2074-:2074,hostfwd=tcp::9000-:9000 -device virtio-net,netdev=n1 -nographic alpine.qcow2" 41 | echo $a > alpine/alpine.sh 42 | chmod +x alpine/alpine.sh 43 | echo "finished" 44 | } 45 | 46 | clear 47 | echo "By 2--> Peyman * Github.com/Ptechgithub * " 48 | echo " " 49 | echo "Select an option:" 50 | echo "1) Step 1" 51 | echo "2) Step 2" 52 | echo "0) Exit" 53 | read -p "Enter your choice: " choice 54 | case "$choice" in 55 | 1) 56 | step1 57 | ;; 58 | 2) 59 | step2 60 | ;; 61 | 0) 62 | exit 63 | ;; 64 | *) 65 | echo "Invalid choice. Please select a valid option." 66 | ;; 67 | esac --------------------------------------------------------------------------------