#!/bin/bash ################################### ############ by Sthope ############ ################################### #### USAGE # bash -c "$(wget -qLO - https://git.sthope.dev/sthope/sthope-examples/raw/branch/master/docker_portainer_stacks/portainer/setup-dockerapi-notls)" # findRandomTcpPort(){ port=$(( 100+( $(od -An -N2 -i /dev/random) )%(1023+1) )) while : do (echo >/dev/tcp/localhost/$port) &>/dev/null && port=$(( 100+( $(od -An -N2 -i /dev/random) )%(1023+1) )) || break done echo "$port" } mkdir -p /etc/systemd/system/docker.service.d/ p=$(findRandomTcpPort) cat << EOF > /etc/systemd/system/docker.service.d/startup_options.conf # /etc/systemd/system/docker.service.d/override.conf [Service] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:$p EOF systemctl daemon-reload;systemctl restart docker.service;clear echo "######################################################################" echo "############################# by Sthope ##############################" echo "######################################################################" echo "You can now connect Portainer to this host at port: $p"