services: app: build: . restart: always ports: - '3000:3000' environment: - DATABASE_URL=postgresql://idp:secure-password@db:5432/idp_db - JWT_PRIVATE_KEY_PATH=./data/jwt_private.pem - JWT_PUBLIC_KEY_PATH=./data/jwt_public.pem - APP_CONFIG_PATH=./data/app.json depends_on: db: condition: service_healthy volumes: - ./data:/app/data networks: - rfid-network db: image: postgres:16-alpine restart: always environment: POSTGRES_USER: idp POSTGRES_PASSWORD: secure-password POSTGRES_DB: idp_db volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U idp -d idp_db'] interval: 10s timeout: 5s retries: 5 networks: - rfid-network volumes: postgres_data: networks: rfid-network: driver: bridge