version: "3" services: db: image: postgres:15.4 restart: always environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres healthcheck: #CHANGE 1: this command checks if the database is ready, right on the source db server test: ["CMD-SHELL", "pg_isready -d postgres -U postgres"] interval: 1s timeout: 1s retries: 5 web: build: . restart: always command: bash -c "python manage.py migrate && gunicorn -b 0.0.0.0:8000 --capture-output --error-logfile - --access-logfile - spejstore.wsgi:application" volumes: - .:/code - /code/build_static ports: - "8000:8000" depends_on: db: condition: service_healthy env_file: - path: .env required: true - path: ./spejstore-dev.env required: false environment: - SPEJSTORE_CLIENT_ID - SPEJSTORE_SECRET - SPEJSTORE_ENV