services: postgres: image: postgres:16 container_name: groundcontrol-db environment: POSTGRES_DB: groundcontrol POSTGRES_USER: postgres POSTGRES_PASSWORD: password ports: - "8100:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d groundcontrol"] interval: 5s timeout: 5s retries: 5 ground-control: build: context: . dockerfile: Dockerfile args: COMPONENT: ground-control container_name: ground-control environment: DB_HOST: postgres DB_PORT: 5432 DB_DATABASE: groundcontrol DB_USERNAME: postgres DB_PASSWORD: password HARBOR_USERNAME: admin HARBOR_PASSWORD: Harbor12345 HARBOR_URL: http://harbor-sat.kube.bupd.xyz PORT: 8080 SKIP_HARBOR_HEALTH_CHECK: "true" SPIFFE_ENABLED: "false" SPIFFE_TRUST_DOMAIN: harbor-satellite.local SPIFFE_PROVIDER: sidecar SPIFFE_ENDPOINT_SOCKET: unix:///run/spire/sockets/agent.sock ports: - "8080:8080" depends_on: postgres: condition: service_healthy satellite: build: context: . dockerfile: Dockerfile args: COMPONENT: harbor-satellite container_name: satellite environment: - GROUND_CONTROL_URL=http://ground-control:8080 - HARBOR_REGISTRY_URL=http://172.17.0.1:8080 - TOKEN=${TOKEN:-changeme} ports: - "${SATELLITE_PORT:-9090}:9090" - "8585:8585" depends_on: - ground-control restart: always volumes: pgdata: