docker-compose.yml
version: '3'
volumes:
your_platform_mysql_data: {}
your_platform_redis_data: {}
your_platform_neo4j_data: {}
your_platform_uploads: {}
your_platform_gems: {}
your_platform_tmp: {}
networks:
backend:
driver: bridge
services:
web:
build: docker/services/your_platform_web_development
volumes:
- ".:/app"
- "your_platform_uploads:/app/uploads"
- "your_platform_gems:/usr/local/bundle"
- "your_platform_tmp:/app/demo_app/my_platform/tmp"
expose:
- 3001
ports:
- "0.0.0.0:3001:3001"
environment:
RAILS_ENV: development
MYSQL_DATABASE: your_platform
MYSQL_TEST_DATABASE: your_platform_test
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_HOST: mysql
REDIS_HOST: redis
NEO4J_REST_URL: "http://neo4j:trinity@neo4j:7474/"
depends_on:
- mysql
- redis
- neo4j
networks:
- default
- backend
command:
- script/start
sidekiq:
build: docker/services/your_platform_web_development
volumes:
- ".:/app"
- "your_platform_uploads:/app/uploads"
- "your_platform_gems:/usr/local/bundle"
- "your_platform_tmp:/app/demo_app/my_platform/tmp"
environment:
RAILS_ENV: development
MYSQL_DATABASE: your_platform
MYSQL_TEST_DATABASE: your_platform_test
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_HOST: mysql
REDIS_HOST: redis
NEO4J_REST_URL: "http://neo4j:trinity@neo4j:7474/"
depends_on:
- mysql
- redis
- neo4j
networks:
- backend
command: /bin/bash -c "cd /app/demo_app/my_platform && bundle exec sidekiq --queue critical --queue default --queue low --queue cache --queue dag_links --verbose --environment development"
notifications:
build: docker/services/your_platform_web_development
volumes:
- ".:/app"
- "your_platform_uploads:/app/uploads"
- "your_platform_gems:/usr/local/bundle"
- "your_platform_tmp:/app/demo_app/my_platform/tmp"
environment:
RAILS_ENV: development
MYSQL_DATABASE: your_platform
MYSQL_TEST_DATABASE: your_platform_test
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_HOST: mysql
REDIS_HOST: redis
NEO4J_REST_URL: "http://neo4j:trinity@neo4j:7474/"
depends_on:
- mysql
- redis
- neo4j
networks:
- backend
command: /bin/bash -c "cd /app/demo_app/my_platform && bundle exec rake your_platform:notifications:worker"
console:
build: docker/services/your_platform_web_development
volumes:
- ".:/app"
- "your_platform_uploads:/app/uploads"
- "your_platform_gems:/usr/local/bundle"
- "your_platform_tmp:/app/demo_app/my_platform/tmp"
environment:
RAILS_ENV: development
MYSQL_DATABASE: your_platform
MYSQL_TEST_DATABASE: your_platform_test
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_HOST: mysql
REDIS_HOST: redis
NEO4J_REST_URL: "http://neo4j:trinity@neo4j:7474/"
depends_on:
- mysql
- redis
- neo4j
networks:
- backend
command: /bin/bash -c "cd /app/demo_app/my_platform && bundle exec rails console"
tests:
build: docker/services/your_platform_web_development
volumes:
- ".:/app"
- "your_platform_gems:/usr/local/bundle"
- "your_platform_tmp:/app/demo_app/my_platform/tmp"
environment:
RAILS_ENV: test
MYSQL_TEST_DATABASE: your_platform_test
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_HOST: mysql
REDIS_HOST: redis
NEO4J_REST_URL_TEST: "http://neo4j:trinity@neo4j:7474/"
depends_on:
- mysql
- redis
- neo4j
networks:
- backend
command: /bin/bash -c "rake tests"
mysql:
image: mysql:5.7
volumes:
- your_platform_mysql_data:/var/lib/mysql
environment:
MYSQL_DATABASE: your_platform
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
MYSQL_USER: your_platform
networks:
- backend
command: "mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci"
redis:
image: redis
volumes:
- your_platform_redis_data:/var/lib/redis
networks:
- backend
neo4j:
image: neo4j:3.5
volumes:
- your_platform_neo4j_data:/data
ports:
- "0.0.0.0:7474:7474"
- "0.0.0.0:7687:7687"
environment:
NEO4J_AUTH: "neo4j/trinity"
networks:
- backend