version: "3.7" x-app: &app build: context: . target: dev entrypoint: config/docker/rails-dev-entrypoint.sh volumes: - type: bind source: . target: /app - type: bind source: ./config/database.yml.docker target: /app/config/database.yml - gems:/usr/local/bundle - node_modules:/app/node_modules working_dir: /app services: web: <<: *app command: rails server -p 3000 -b 0.0.0.0 depends_on: - db - webpack_dev_server environment: - POSTGRES_DB - POSTGRES_HOST=db - POSTGRES_PASSWORD - POSTGRES_PORT=5432 - POSTGRES_USER - WEBPACKER_DEV_SERVER_HOST=webpack_dev_server ports: - ${WEB_HOST_PORT}:3000 webpack_dev_server: <<: *app command: bin/webpack-dev-server --public 0.0.0.0 entrypoint: config/docker/rails-dev-entrypoint.sh environment: - WEBPACKER_DEV_SERVER_HOST=0.0.0.0 ports: - 3035:3035 db: image: postgres:11.2-alpine environment: - POSTGRES_DB - POSTGRES_PASSWORD - POSTGRES_USER ports: - ${DB_HOST_PORT}:5432 volumes: - postgres-persisted-volume:/var/lib/postgresql/data volumes: postgres-persisted-volume: gems: node_modules: