services: postgres: image: postgres:17-alpine environment: POSTGRES_DB: ${POSTGRES_DB:-watchlink} POSTGRES_USER: ${POSTGRES_USER:-watchlink} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-watchlink} volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-watchlink} -d ${POSTGRES_DB:-watchlink}"] interval: 10s timeout: 5s retries: 5 web: build: . image: git.wilkensxl.de/mrsphay/watchlink:latest depends_on: postgres: condition: service_healthy environment: DATABASE_URL: postgresql://${POSTGRES_USER:-watchlink}:${POSTGRES_PASSWORD:-watchlink}@postgres:5432/${POSTGRES_DB:-watchlink}?schema=public NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000} NEXTAUTH_SECRET: ${NEXTAUTH_SECRET:-change-me-with-openssl-rand-base64-32} PORT: 3000 ports: - "${HOST_PORT:-3000}:3000" command: sh -c "npx prisma migrate deploy && node server.js" volumes: postgres-data: