services: dockhand_db: container_name: dockhand_db image: docker.io/library/postgres:18.2@sha256:b6b4d0b75c699a2c94dfc5a94fe09f38630f3b67ab0e1653ede1b7ac8e13c197 restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} - PGDATA=/var/lib/postgresql/18/docker volumes: - ./db:/var/lib/postgresql networks: - backend healthcheck: test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 3 start_period: 10s dockhand: container_name: dockhand image: fnsys/dockhand:v1.0.18@sha256:81ee6728840ea99978d811d9dfa61e5445467e01502320fa7733bcf7e567d105 restart: unless-stopped depends_on: dockhand_db: condition: service_healthy environment: - DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@dockhand_db:5432/${POSTGRES_DB} volumes: - ./data:/app/data - /var/run/docker.sock:/var/run/docker.sock ports: - 3000:3000 networks: - frontend - backend networks: frontend: external: true backend: external: true