Skip to content

Commit 8e55a9b

Browse files
authored
add more features
1 parent cbb91ad commit 8e55a9b

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

install/docker-install.sh

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@ echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json
2929
$STD sh <(curl -fsSL https://get.docker.com)
3030
msg_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+
3242
read -r -p "${TAB3}Would you like to add Portainer (UI)? <y/N> " prompt
3343
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
3444
msg_info "Installing Portainer $PORTAINER_LATEST_VERSION"
@@ -57,12 +67,25 @@ else
5767
fi
5868
fi
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
@@ -75,14 +98,13 @@ EOF
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
83106
fi
84107

85-
86108
motd_ssh
87109
customize
88110

0 commit comments

Comments
 (0)