version: '3.8' services: web: build: . ports: - "3000:3000" depends_on: db: condition: service_healthy environment: DATABASE_URL: postgresql://postgres:postgres@db:5432/growstuff_prod RAILS_ENV: production RAILS_LOG_TO_STDOUT: "true" RAILS_SERVE_STATIC_FILES: "true" APP_DOMAIN_NAME: localhost:3000 APP_PROTOCOL: http DEVISE_SECRET_KEY: secret GROWSTUFF_EMAIL: "noreply@test.growstuff.org" GROWSTUFF_FLICKR_KEY: secretkey GROWSTUFF_FLICKR_SECRET: secretsecret GROWSTUFF_SITE_NAME: "Growstuff (local)" RAILS_SECRET_TOKEN: supersecret SECRET_KEY_BASE: supersecretbase db: image: postgres:17 restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data - .devcontainer/create-db-user.sql:/docker-entrypoint-initdb.d/create-db-user.sql environment: POSTGRES_USER: postgres POSTGRES_DB: growstuff_prod POSTGRES_PASSWORD: postgres ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 volumes: postgres-data: