set shell := ["bash", "-c"] default: @just --list init-env: @bash init-env.sh init-network: @docker network inspect central_dogma >/dev/null 2>&1 || \ (docker network create central_dogma && echo "Network central_dogma created") up: init-env init-network @echo "Starting Gitea infrastructure..." docker compose -f compose-db.yml up -d @echo "Waiting for database..." @for i in 1 2 3 4 5; do \ if docker exec gitea-db pg_isready -U gitea >/dev/null 2>&1; then \ break; \ fi; \ echo "Attempt $$i/5..."; \ sleep 2; \ done docker compose -f compose-gitea.yml up -d @echo "Waiting for Gitea to be ready..." @until curl -sf http://localhost:3000 > /dev/null 2>&1; do \ echo "Waiting..."; \ sleep 5; \ done @echo "Gitea is ready!" @if ! grep -q "RUNNER_TOKEN=.\+" .env; then \ echo "RUNNER_TOKEN not set. Run: just init-runner-token"; \ else \ docker compose -f compose-runner.yml up -d; \ echo "Runner started"; \ fi @echo "" @echo "SETUP COMPLETE" @echo "Gitea: http://localhost:3000" @echo "SSH: localhost:222" down: docker compose -f compose-runner.yml down || true docker compose -f compose-gitea.yml down || true docker compose -f compose-db.yml down || true stop: docker compose -f compose-runner.yml stop || true docker compose -f compose-gitea.yml stop || true docker compose -f compose-db.yml stop || true start: docker compose -f compose-db.yml start docker compose -f compose-gitea.yml start docker compose -f compose-runner.yml start logs-gitea: docker compose -f compose-gitea.yml logs -f --tail=100 gitea logs-runner: docker compose -f compose-runner.yml logs -f --tail=100 runner logs-db: docker compose -f compose-db.yml logs -f --tail=100 postgres init-runner-token: @bash init-runner-token.sh clean: docker compose -f compose-runner.yml down -v || true docker compose -f compose-gitea.yml down -v || true docker compose -f compose-db.yml down -v || true rm -f .env echo "Cleaned up"