2018-10-03 08:46:25 -06:00
|
|
|
version: '3.4'
|
|
|
|
x-db_user: &db_user
|
2018-10-05 09:58:16 -06:00
|
|
|
depends_on: ["db", "redis"]
|
2018-10-04 13:16:56 -06:00
|
|
|
x-rails: &rails
|
|
|
|
image: farmbot_web
|
2018-10-03 08:46:25 -06:00
|
|
|
env_file: .env
|
|
|
|
volumes:
|
|
|
|
- .:/farmbot
|
|
|
|
- ./docker_volumes/bundle_cache:/bundle
|
2018-10-01 09:16:46 -06:00
|
|
|
services:
|
2018-10-04 20:09:50 -06:00
|
|
|
redis:
|
2018-10-05 09:58:16 -06:00
|
|
|
image: redis
|
|
|
|
volumes:
|
|
|
|
- ./docker_volumes/redis/data:/data
|
|
|
|
- ./docker_volumes/redis/conf:/usr/local/etc/redis
|
|
|
|
ports: ["6379:6379"]
|
2018-10-03 08:46:25 -06:00
|
|
|
db: # ====================
|
|
|
|
image: postgres
|
|
|
|
volumes: ["./docker_volumes/db:/var/lib/postgresql/data"]
|
|
|
|
env_file: .env
|
|
|
|
web: # ====================
|
|
|
|
<<: *db_user
|
2018-10-04 13:16:56 -06:00
|
|
|
<<: *rails
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: docker_configs/api.Dockerfile
|
2018-10-04 20:09:50 -06:00
|
|
|
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -e development -p 3000 -b 0.0.0.0"
|
2018-10-03 08:46:25 -06:00
|
|
|
ports: ["3000:3000"] # Web / API
|
|
|
|
mqtt: # ====================
|
2018-10-02 08:24:16 -06:00
|
|
|
build:
|
|
|
|
context: ./docker_configs
|
|
|
|
dockerfile: rabbitmq.Dockerfile
|
2018-10-01 09:55:05 -06:00
|
|
|
ports:
|
|
|
|
- "5672:5672" # AMQP (RabbitMQ)
|
|
|
|
- "1883:1883" # MQTT
|
|
|
|
- "8883:8883" # MQTT over TLS/SSL
|
|
|
|
- "3002:15675" # MQTT over WebSockets
|
|
|
|
- "15672:15672" # Management API
|
2018-10-03 08:46:25 -06:00
|
|
|
depends_on: ["web"]
|
|
|
|
env_file: .env
|
2018-10-04 09:57:54 -06:00
|
|
|
environment:
|
|
|
|
- RABBITMQ_CONFIG_FILE=/farmbot/farmbot_rmq_config
|
|
|
|
volumes:
|
|
|
|
- ./docker_volumes/rabbit:/farmbot
|
2018-10-03 08:46:25 -06:00
|
|
|
webpack: # ====================
|
2018-10-04 13:16:56 -06:00
|
|
|
<<: *rails
|
2018-10-01 13:29:47 -06:00
|
|
|
command: ./node_modules/.bin/webpack-dev-server --config config/webpack.config.js
|
2018-10-03 08:46:25 -06:00
|
|
|
ports: ["3808:3808"] # Webpack Dev Server
|
|
|
|
delayed_job: # ====================
|
2018-10-04 13:16:56 -06:00
|
|
|
<<: *rails
|
2018-10-04 09:57:54 -06:00
|
|
|
depends_on: ["db","mqtt"]
|
2018-10-01 14:06:26 -06:00
|
|
|
command: bundle exec rake jobs:work
|
2018-10-05 12:58:27 -06:00
|
|
|
restart: "always"
|
2018-10-03 08:46:25 -06:00
|
|
|
log_digests: # ====================
|
2018-10-04 13:16:56 -06:00
|
|
|
<<: *rails
|
2018-10-03 08:46:25 -06:00
|
|
|
<<: *db_user
|
2018-10-01 14:06:26 -06:00
|
|
|
command: bundle exec rake api:log_digest
|
2018-10-03 08:46:25 -06:00
|
|
|
rabbit_jobs: # ====================
|
2018-10-04 13:16:56 -06:00
|
|
|
<<: *rails
|
2018-10-03 08:46:25 -06:00
|
|
|
depends_on: ["db","mqtt"]
|
2018-10-04 09:57:54 -06:00
|
|
|
command: bundle exec rails r lib/rabbit_workers.rb
|