Farmbot-Web-App/docker-compose.yml

80 lines
2.2 KiB
YAML
Raw Normal View History

version: '3.4'
2018-10-05 13:19:32 -06:00
x-db_user: &db_user
2018-10-05 09:58:16 -06:00
depends_on: ["db", "redis"]
2018-10-05 13:19:32 -06:00
2018-10-04 13:16:56 -06:00
x-rails: &rails
image: farmbot_web
volumes:
- .:/farmbot
- ./docker_volumes/bundle_cache:/bundle
2018-10-05 13:19:32 -06:00
x-base_config: &base_config
env_file: .env
2018-10-08 10:08:20 -06:00
# restart: unless-stopped
services:
2018-10-04 20:09:50 -06:00
redis:
2018-10-05 13:19:32 -06:00
<<: *base_config
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"]
db: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
image: postgres
volumes: ["./docker_volumes/db:/var/lib/postgresql/data"]
web: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
<<: *db_user
2018-10-04 13:16:56 -06:00
<<: *rails
stdin_open: true # Needed for binding.pry
tty: true # Needed for binding.pry
2018-10-04 13:16:56 -06:00
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"
ports: ["3000:3000"] # Web / API
mqtt: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
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
depends_on: ["web"]
environment:
- RABBITMQ_CONFIG_FILE=/farmbot/farmbot_rmq_config
volumes:
- ./docker_volumes/rabbit:/farmbot
typescript:
<<: *base_config
<<: *rails
depends_on: ["parcel"]
command: node_modules/typescript/bin/tsc -w --noEmit
2019-01-30 07:00:26 -07:00
parcel: # ====================
<<: *base_config
<<: *rails
depends_on: ["db","mqtt", "web"]
command: bundle exec rake api:serve_assets
2019-02-01 07:56:03 -07:00
ports: ["3808:3808"] # Parcel HMR Server
delayed_job: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
2018-10-04 13:16:56 -06:00
<<: *rails
2019-02-06 14:08:18 -07:00
depends_on: ["db","mqtt", "web"]
2018-10-01 14:06:26 -06:00
command: bundle exec rake jobs:work
log_digests: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
2018-10-04 13:16:56 -06:00
<<: *rails
<<: *db_user
2018-10-01 14:06:26 -06:00
command: bundle exec rake api:log_digest
rabbit_jobs: # ====================
2018-10-05 13:19:32 -06:00
<<: *base_config
2018-10-04 13:16:56 -06:00
<<: *rails
depends_on: ["db","mqtt"]
command: bundle exec rails r lib/rabbit_workers.rb