services: rails: image: quay.io/forem/forem:development container_name: forem_rails ports: - "3000:3000" depends_on: - bundle - db - redis - yarn healthcheck: test: ["CMD", "curl" , "-f", "http://localhost:3000/"] interval: 30s timeout: 10s retries: 3 start_period: 10s environment: RAILS_ENV: development DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 RACK_TIMEOUT_WAIT_TIMEOUT: 10000 RACK_TIMEOUT_SERVICE_TIMEOUT: 10000 STATEMENT_TIMEOUT: 10000 APP_DOMAIN: rails volumes: - .:/opt/apps/forem:z entrypoint: ["dockerize", "-wait", "tcp://db:5432", "-wait", "tcp://redis:6379", "-wait", "file:///opt/apps/forem/vendor/bundle/.bundle_finished", "-timeout", "2700s"] command: [ "bash", "-c", "./scripts/entrypoint.sh bootstrap && bundle exec rails server -b 0.0.0.0 -p 3000"] bundle: image: quay.io/forem/forem:development container_name: forem_bundle environment: RAILS_ENV: development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development volumes: - .:/opt/apps/forem:z command: ["./scripts/bundle.sh"] yarn: image: quay.io/forem/forem:development container_name: forem_yarn environment: RAILS_ENV: development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development volumes: - .:/opt/apps/forem:z command: [ "bash", "-c", "yarn install --dev"] webpacker: image: quay.io/forem/forem:development container_name: forem_webpacker depends_on: - rails - yarn environment: RAILS_ENV: development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development volumes: - .:/opt/apps/forem:z entrypoint: ["dockerize", "-wait", "file:///opt/apps/forem/node_modules/.bin/webpack-dev-server", "-timeout", "300s"] command: ["./bin/webpack-dev-server"] seed: image: quay.io/forem/forem:development container_name: forem_seed depends_on: rails: condition: service_healthy redis: condition: service_healthy db: condition: service_healthy environment: RAILS_ENV: development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development volumes: - .:/opt/apps/forem:z command: ["bundle", "exec", "rake","db:seed"] sidekiq: image: quay.io/forem/forem:development container_name: forem_sidekiq depends_on: rails: condition: service_healthy redis: condition: service_healthy db: condition: service_healthy environment: RAILS_ENV: development REDIS_SESSIONS_URL: redis://redis:6379 REDIS_SIDEKIQ_URL: redis://redis:6379 REDIS_URL: redis://redis:6379 DATABASE_URL: postgresql://forem:forem@db:5432/PracticalDeveloper_development volumes: - .:/opt/apps/forem:z command: ["bundle", "exec", "sidekiq","-c","2"] db: image: postgres:11-alpine container_name: forem_postgresql healthcheck: test: [ "CMD", "pg_isready", "-d" ,"forem", "-U", "forem" ] interval: 10s timeout: 5s retries: 5 environment: POSTGRES_USER: forem POSTGRES_PASSWORD: forem POSTGRES_DB: PracticalDeveloper_development ports: - "5432:5432" volumes: - db_data:/var/lib/postgresql/data:Z redis: image: redis:6.0.9-alpine healthcheck: test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] interval: 20s timeout: 5s retries: 3 start_period: 10s container_name: forem_redis ports: - "6379:6379" volumes: db_data: