83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
version: '3'
|
|
services:
|
|
mqtt: # ======================================================================
|
|
build: ./docker_configs/rabbitmq.Dockerfile
|
|
ports:
|
|
- "5672:5672" # AMQP (RabbitMQ)
|
|
- "1883:1883" # MQTT
|
|
- "8883:8883" # MQTT over TLS/SSL
|
|
- "3002:15675" # MQTT over WebSockets
|
|
- "15672:15672" # Management API
|
|
db: # =======================================================================
|
|
image: postgres
|
|
volumes:
|
|
- ././docker_volumes/db:/var/lib/postgresql/data
|
|
env_file:
|
|
- .env
|
|
web: # ======================================================================
|
|
build:
|
|
context: .
|
|
dockerfile: docker_configs/api.Dockerfile
|
|
# Add the `rm -f` part to avoid "server is still running..." errors:
|
|
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -e development -p ${API_PORT:-3000} -b 0.0.0.0"
|
|
volumes:
|
|
- .:/farmbot
|
|
- ./docker_volumes/bundle_cache:/bundle
|
|
ports:
|
|
- "3000:3000" # Web / API
|
|
depends_on:
|
|
- db
|
|
env_file:
|
|
- .env
|
|
webpack: # ===================================================================
|
|
build:
|
|
context: .
|
|
dockerfile: docker_configs/api.Dockerfile
|
|
command: ./node_modules/.bin/webpack-dev-server --config config/webpack.config.js
|
|
volumes:
|
|
- .:/farmbot
|
|
- ./docker_volumes/bundle_cache:/bundle
|
|
ports:
|
|
- "3808:3808" # Webpack Dev Server
|
|
depends_on:
|
|
- web
|
|
env_file:
|
|
- .env
|
|
delayed_job: # ===============================================================
|
|
build:
|
|
context: .
|
|
dockerfile: docker_configs/api.Dockerfile
|
|
command: bundle exec rake jobs:work
|
|
volumes:
|
|
- .:/farmbot
|
|
- ./docker_volumes/bundle_cache:/bundle
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- db
|
|
log_digests: # ===============================================================
|
|
build:
|
|
context: .
|
|
dockerfile: docker_configs/api.Dockerfile
|
|
command: bundle exec rake api:log_digest
|
|
volumes:
|
|
- .:/farmbot
|
|
- ./docker_volumes/bundle_cache:/bundle
|
|
depends_on:
|
|
- db
|
|
env_file:
|
|
- .env
|
|
rabbit_jobs: # ===============================================================
|
|
build:
|
|
context: .
|
|
dockerfile: docker_configs/api.Dockerfile
|
|
command: bundle exec rails r lib/rabbit_workers.rb
|
|
volumes:
|
|
- .:/farmbot
|
|
- ./docker_volumes/bundle_cache:/bundle
|
|
depends_on:
|
|
- db
|
|
- mqtt
|
|
env_file:
|
|
- .env
|