tuomas2/serviceform

View on GitHub
docker-compose-staging.yml

Summary

Maintainability
Test Coverage
version: "2"

# Environment is similar to production

volumes:
  media:
  nginx-config:
  celery-beat-store:
  staging-db:
  staging-redis:

services:
  # Nginx web server is only for development environment. Disabled in production.

  staging-redis:
    env_file: env/staging.list
    image: redis:3.2.5-alpine
    volumes:
      - staging-redis:/data

  staging-db:
     image: postgres:9.6.1
     env_file: env/staging.list
     volumes:
      - staging-db:/var/lib/postgresql

  upgrade:
    image: tuomasairaksinen/serviceform:latest
    user: root
    env_file: env/staging.list
    command: upgrade
    links:
      - staging-db:db
      - staging-redis:redis
    volumes:
      - media:/code/media
      - nginx-config:/nginx-config
      - celery-beat-store:/celery-beat-store

  celery:
    image: tuomasairaksinen/serviceform:latest
    command: celery
    env_file: env/staging.list
    links:
      - staging-redis:redis
      - staging-db:db
    depends_on:
      - upgrade

  celery-beat:
    image: tuomasairaksinen/serviceform:latest
    command: celery-beat
    env_file: env/staging.list
    links:
      - staging-db:db
      - staging-redis:redis
    volumes:
      - celery-beat-store:/store
    depends_on:
      - upgrade

  task-processor:
    image: tuomasairaksinen/serviceform:latest
    command: task-processor
    env_file: env/staging.list
    links:
      - staging-db:db
      - staging-redis:redis
    depends_on:
      - upgrade

  send-emails:
    command: send-emails
    image: tuomasairaksinen/serviceform:latest
    env_file: env/staging.list
    links:
      - staging-db:db
    depends_on:
      - upgrade

  app:
    image: tuomasairaksinen/serviceform:latest
    env_file: env/staging.list
    ports:
     - "8080:8080"
    command: app
    links:
      - staging-db:db
      - staging-redis:redis
    volumes:
     - media:/code/media
    depends_on:
      - upgrade