mirror of
https://github.com/caprover/caprover
synced 2025-12-12 06:15:40 +00:00
84 lines
2.7 KiB
Bash
Executable File
84 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run the following line on a PlayWithDocker instance
|
|
# curl -L https://pwd.caprover.com | bash
|
|
|
|
sleepWithTimer() {
|
|
secs=${1}
|
|
while [ $secs -gt 0 ]; do
|
|
echo -ne " Waiting $secs seconds... \033[0K\r"
|
|
sleep 1
|
|
: $((secs--))
|
|
done
|
|
}
|
|
|
|
if [[ -z "${PWD_HOST_FQDN}" ]]; then
|
|
echo "ERROR: this script is only meant to be used on play-with-docker.com environment" && exit 127
|
|
else
|
|
echo "Installing and setting up CapRover on play-with-docker.com environment"
|
|
fi
|
|
|
|
docker run -e ACCEPTED_TERMS=true -e MAIN_NODE_IP_ADDRESS='127.0.0.1' -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover
|
|
|
|
IP_WITH_DASH=$(ifconfig eth1 | grep 'inet addr' | cut -d: -f2 | awk '{print $1}' | sed 's/\./-/g')
|
|
## ip172-18-0-34-bo5qqunad2eg00a35t5g-80.direct.labs.play-with-docker.com
|
|
CAPROVER_ROOT_DOMAIN="ip${IP_WITH_DASH}-${SESSION_ID}-80.direct.labs.play-with-docker.com"
|
|
echo "CapRover Root Domain: ${CAPROVER_ROOT_DOMAIN}"
|
|
|
|
echo "=============================================="
|
|
echo "=============================================="
|
|
echo "Waiting for CapRover to finish installation..."
|
|
echo "=============================================="
|
|
echo "=============================================="
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
CAPTAIN_INITED=""
|
|
while [[ -z "${CAPTAIN_INITED}" ]]; do
|
|
CAPTAIN_INITED=$(docker service logs captain-captain --since 3s | grep "Captain is initialized")
|
|
docker service logs captain-captain --since 2s
|
|
sleep 2
|
|
done
|
|
|
|
echo " "
|
|
echo " "
|
|
echo "Setting up the root URL... "
|
|
echo " "
|
|
docker service scale captain-captain=0
|
|
sleepWithTimer 6
|
|
echo "{
|
|
\"namespace\": \"captain\",
|
|
\"customDomain\": \"${CAPROVER_ROOT_DOMAIN}\"
|
|
}" >/captain/data/config-captain.json
|
|
cat /captain/data/config-captain.json
|
|
echo "{\"skipVerifyingDomains\":\"true\"}" >/captain/data/config-override.json
|
|
docker container prune --force
|
|
docker service scale captain-captain=1
|
|
|
|
echo "==================================="
|
|
echo "==================================="
|
|
echo "Waiting for CapRover to finalize..."
|
|
echo "==================================="
|
|
echo "==================================="
|
|
echo " "
|
|
echo " "
|
|
sleepWithTimer 6
|
|
|
|
CAPTAIN_INITED=""
|
|
while [[ -z "${CAPTAIN_INITED}" ]]; do
|
|
CAPTAIN_INITED=$(docker service logs captain-captain --since 3s | grep "Captain is initialized")
|
|
docker service logs captain-captain --since 2s
|
|
sleep 2
|
|
done
|
|
|
|
echo " "
|
|
echo " "
|
|
echo " "
|
|
echo "==================================="
|
|
echo "==================================="
|
|
echo " **** Installation is done! ***** "
|
|
echo "CapRover is available at http://captain.${CAPROVER_ROOT_DOMAIN}"
|
|
echo "Default password is: captain42"
|
|
echo "==================================="
|
|
echo "==================================="
|