@@ -29,6 +29,16 @@ echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
2929$STD sh <( curl -fsSL https://get.docker.com)
3030msg_ok " Installed Docker $DOCKER_LATEST_VERSION "
3131
32+ read -r -p " ${TAB3} Install Docker Compose v2 plugin? <y/N> " prompt_compose
33+ if [[ ${prompt_compose,,} =~ ^(y| yes)$ ]]; then
34+ msg_info " Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION "
35+ mkdir -p /usr/local/lib/docker/cli-plugins
36+ curl -fsSL " https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_LATEST_VERSION} /docker-compose-$( uname -s) -$( uname -m) " \
37+ -o /usr/local/lib/docker/cli-plugins/docker-compose
38+ chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
39+ msg_ok " Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION "
40+ fi
41+
3242read -r -p " ${TAB3} Would you like to add Portainer (UI)? <y/N> " prompt
3343if [[ ${prompt,,} =~ ^(y| yes)$ ]]; then
3444 msg_info " Installing Portainer $PORTAINER_LATEST_VERSION "
5767 fi
5868fi
5969
60- read -r -p " ${TAB3} Expose Docker TCP socket (⚠️ insecure)? <y/N> " prompt
61- if [[ " ${prompt,,} " =~ ^(y| yes)$ ]]; then
62- msg_info " Enabling Docker TCP socket on port 2375 (insecure)"
63-
64- mkdir -p /etc/docker
65- echo ' { "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }' > /etc/docker/daemon.json
70+ read -r -p " ${TAB3} Expose Docker TCP socket (insecure) ? [n = No, l = Local only (127.0.0.1), a = All interfaces (0.0.0.0)] <n/l/a>: " socket_choice
71+ case " ${socket_choice,,} " in
72+ l)
73+ socket=" tcp://127.0.0.1:2375"
74+ ;;
75+ a)
76+ socket=" tcp://0.0.0.0:2375"
77+ ;;
78+ * )
79+ socket=" "
80+ ;;
81+ esac
82+
83+ if [[ -n " $socket " ]]; then
84+ msg_info " Enabling Docker TCP socket on $socket "
85+ $STD apt-get install -y jq
86+
87+ tmpfile=$( mktemp)
88+ jq --arg sock " $socket " ' . + { "hosts": ["unix:///var/run/docker.sock", $sock] }' /etc/docker/daemon.json > " $tmpfile " && mv " $tmpfile " /etc/docker/daemon.json
6689
6790 mkdir -p /etc/systemd/system/docker.service.d
6891 cat << EOF > /etc/systemd/system/docker.service.d/override.conf
7598 $STD systemctl daemon-reload
7699
77100 if systemctl restart docker; then
78- msg_ok " Docker TCP socket now available on tcp://0.0.0.0:2375 "
101+ msg_ok " Docker TCP socket available on $socket "
79102 else
80103 msg_error " Docker failed to restart. Check journalctl -xeu docker.service"
81104 exit 1
82105 fi
83106fi
84107
85-
86108motd_ssh
87109customize
88110
0 commit comments