name: python_dev-farpost services: backend: container_name: farpost-backend restart: always build: . env_file: .env healthcheck: test: curl -sSf http://localhost:8000/healthcheck interval: 60s start_period: 1s timeout: 600s depends_on: database: condition: service_healthy restart: true ports: - 8000:8000 environment: POSTGRES_HOST: ${POSTGRES_HOST} POSTGRES_DB1: ${POSTGRES_DB1:-db1} POSTGRES_DB2: ${POSTGRES_DB2:-db2} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} database: container_name: farpost-database restart: always image: postgres:latest env_file: .env volumes: - ./database/create-multiple-postgresql-databases.sh:/docker-entrypoint-initdb.d/launch.sh:ro - ./database/dumps:/docker-entrypoint-initdb.d/dumps:ro - postgres-data:/var/lib/postgresql/data healthcheck: test: pg_isready -d ${POSTGRES_DB1:-db1} interval: 60s start_period: 1s timeout: 600s ports: - 5432:5432 environment: POSTGRES_MULTIPLE_DATABASES: ${POSTGRES_DB1:-db1}, ${POSTGRES_DB2:-db2} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: postgres-data: name: farpost-postgres-data