112 lines
2.4 KiB
YAML
112 lines
2.4 KiB
YAML
version: '3.8'
|
|
x-backend-services-hosts:
|
|
&backend-services-hosts
|
|
MONGODB_HOST: mongodb
|
|
REDIS_URL: redis://redis:6379
|
|
PG_DATABASE_HOST: postgres
|
|
|
|
services:
|
|
backend:
|
|
build: backend
|
|
depends_on:
|
|
- postgres
|
|
- mongodb
|
|
- redis
|
|
ports:
|
|
- 127.0.0.1:3000:3000
|
|
volumes:
|
|
- ./backend:/app
|
|
environment: *backend-services-hosts
|
|
profiles:
|
|
- dev
|
|
- native
|
|
workers:
|
|
build: backend
|
|
command: bundle exec sidekiq -C config/sidekiq.yml
|
|
depends_on:
|
|
- redis
|
|
- mongodb
|
|
- postgres
|
|
volumes:
|
|
- ./backend:/app
|
|
environment: *backend-services-hosts
|
|
profiles:
|
|
- dev
|
|
- native
|
|
frontend:
|
|
build: frontend
|
|
depends_on:
|
|
- backend
|
|
ports:
|
|
- 127.0.0.1:4300:4300
|
|
- 127.0.0.1:4301:4301
|
|
volumes:
|
|
- ./frontend:/app
|
|
- frontend_node_modules:/app/node_modules
|
|
- frontend_bower_components:/app/bower_components
|
|
environment:
|
|
CHROME_BIN: /usr/bin/chromium
|
|
command: sh -c "cd /app && rm -rfd ./dist && ./node_modules/.bin/ember serve --watcher polling --host 0.0.0.0 --port 4300 --proxy http://backend:3000 --live-reload-host localhost --live-reload-port 4301"
|
|
profiles:
|
|
- dev
|
|
native:
|
|
build:
|
|
context: ./native
|
|
args:
|
|
- NODE_ENV=development
|
|
environment:
|
|
- NODE_ENV=development
|
|
tty: true
|
|
ports:
|
|
- '19006:19006'
|
|
- '19001:19001'
|
|
- '19002:19002'
|
|
depends_on:
|
|
- backend
|
|
volumes:
|
|
- ./native:/opt/native/app:delegated
|
|
- ./native/package.json:/opt/native/package.json
|
|
- ./native/package-lock.json:/opt/native/package-lock.json
|
|
- notused:/opt/native/app/node_modules
|
|
healthcheck:
|
|
disable: true
|
|
profiles:
|
|
- native
|
|
app-setup:
|
|
build: backend
|
|
command: bundle exec rails app:setup
|
|
depends_on:
|
|
- postgres
|
|
environment: *backend-services-hosts
|
|
profiles:
|
|
- tools
|
|
postgres:
|
|
image: postgres:12.8-alpine
|
|
restart: always
|
|
environment:
|
|
POSTGRES_PASSWORD: password
|
|
PGDATA: /data
|
|
volumes:
|
|
- postgres:/data
|
|
expose:
|
|
- 5432
|
|
mongodb:
|
|
image: mongo:4.4.9
|
|
volumes:
|
|
- mongodb:/data/db
|
|
expose:
|
|
- 27017
|
|
redis:
|
|
image: redis:6.2.3-alpine
|
|
volumes:
|
|
- redis:/data
|
|
expose:
|
|
- 6379
|
|
volumes:
|
|
postgres:
|
|
mongodb:
|
|
redis:
|
|
notused:
|
|
frontend_node_modules:
|
|
frontend_bower_components:
|