Files
server/services/dev/spinup.sh
T

42 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Script file for spinning up all dev docker-containers
set -e
cd "$(dirname "$0")"
if [ ! -f .env ]; then
echo "Missing .env (expected AWS_S3_BUCKET_NAME/AWS_ACCESS_KEY_ID/...) - run 'ansible-playbook playbooks/deploy.yml' in ansible/ first." >&2
exit 1
fi
echo "Restoring named volumes from S3 backup if any are empty..."
docker compose -f backup-docker-compose.yml pull restore
docker compose -f backup-docker-compose.yml run --rm restore
docker compose -f traefik-docker-compose.yml pull && docker compose -f traefik-docker-compose.yml up -d
docker compose -f gitea-docker-compose.yml pull && docker compose -f gitea-docker-compose.yml up -d
echo "Waiting for Gitea to become ready..."
sleep 20
for i in $(seq 1 30); do
if docker exec -u 1000:1000 gitea gitea admin user list >/dev/null 2>&1; then
break
fi
sleep 2
done
# Generate a fresh Actions runner registration token straight from Gitea and
# hand it to the runner containers via .env (docker compose auto-loads this) -
# no manual copy/paste from the admin UI needed.
RUNNER_TOKEN=$(docker exec -u 1000:1000 gitea gitea actions generate-runner-token)
echo "GITEA_RUNNER_REGISTRATION_TOKEN=$RUNNER_TOKEN" > Runners/.env
cd Runners
docker compose pull && docker compose up -d
cd ..
docker compose -f watchtower-docker-compose.yml pull && docker compose -f watchtower-docker-compose.yml up -d
docker compose -f backup-docker-compose.yml pull backup
docker compose -f backup-docker-compose.yml up -d backup