services: backend: image: fastapi build: context: . dockerfile: Dockerfile ports: - "8000:8000" environment: - JWT_SECRET=${JWT_SECRET} - JWT_ALGORITHM=${JWT_ALGORITHM:-HS256} - JWT_EXPIRE_MINUTES=${JWT_EXPIRE_MINUTES:-60} - SQLALCHEMY_DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} - WAIT_HOSTS=db:5432 depends_on: db: condition: service_healthy restart: unless-stopped env_file: - .env db: image: postgres:15.3 environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} ports: - "5432:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 env_file: - .env