docker-compose.yml
version: '3'
services:
db:
image: postgres:10.19
restart: always
environment:
POSTGRES_PASSWORD: f00d
POSTGRES_USER: ofn
POSTGRES_DB: open_food_network_dev
ports:
- 5432:5432
volumes:
- 'postgres:/var/lib/postgresql/data'
redis:
image: redis
web:
tty: true
stdin_open: true
build: .
ports:
- 3000:3000
volumes:
- .:/usr/src/app
- gems:/bundles
- ./config/database.yml:/usr/src/app/config/database.yml
depends_on:
- db
- redis
- webpack
environment:
OFN_DB_HOST: db
OFN_REDIS_URL: redis://redis/
OFN_REDIS_JOBS_URL: redis://redis
WEBPACKER_DEV_SERVER_HOST: webpack
command: >
bash -c "wait-for-it -t 30 db:5432 &&
rm -f tmp/pids/server.pid &&
(bundle check || bundle install) &&
bundle exec rake db:create &&
yarn install &&
bundle exec rails s -p 3000 -b '0.0.0.0'"
webpack:
build: .
command: ./bin/webpack-dev-server
volumes:
- .:/usr/src/app
- gems:/bundles
ports:
- '3035:3035'
environment:
NODE_ENV: development
RAILS_ENV: development
WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
worker:
tty: true
stdin_open: true
build: .
volumes:
- .:/usr/src/app
- gems:/bundles
- ./config/database.yml:/usr/src/app/config/database.yml
depends_on:
- db
- redis
environment:
OFN_DB_HOST: db
OFN_REDIS_URL: redis://redis
OFN_REDIS_JOBS_URL: redis://redis
command: >
bash -c "wait-for-it -t 30 db:5432 &&
(bundle check || bundle install) &&
bundle exec sidekiq -q mailers -q default"
volumes:
gems:
postgres: