version: "2"
services:
  datastore:
    image: busybox
    volumes:
      - mysql-data:/var/lib/mysql
      - redis-data:/data
      - app-tmp:/app/tmp

  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
    ports:
      - '3306:3306'
    volumes_from:
      - datastore

  redis:
    image: redis:alpine
    ports:
      - '6379:6379'
    volumes_from:
      - datastore

  app:
    build: .
    ports:
      - '3000:3000'
    environment:
      MYSQL_USERNAME: root
      MYSQL_PASSWORD: password
      MYSQL_HOST: mysql
      GENERAL_REDIS_URL: "redis://redis:6379"
      SIDEKIQ_REDIS_URL: "redis://redis:6379"
    links:
      - mysql
      - redis
    volumes_from:
      - datastore
    command: rails_s

volumes:
  mysql-data:
    driver: local
  redis-data:
    driver: local
  app-tmp:
    driver: local