#!/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..." for i in $(seq 1 30); do if docker exec 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 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