version: '2'

services:

  elasticsearch:
    image: zammad/zammad-docker-compose:zammad-elasticsearch
    labels:
      io.rancher.container.pull_image: always
    restart: always

  nginx:
    depends_on:
      - zammad
    image: zammad/zammad-docker-compose:zammad-nginx
    labels:
      io.rancher.container.pull_image: always
    links:
      - zammad-railsserver
      - zammad-websocket
    ports:
      - "80:80"
    restart: always
    volumes:
      - data-zammad:/home/zammad

  postgresql:
    image: zammad/zammad-docker-compose:zammad-postgresql
    labels:
      io.rancher.container.pull_image: always
    restart: always

  zammad:
    image: zammad/zammad-docker-compose:zammad
    labels:
      io.rancher.container.pull_image: always
      io.rancher.container.start_once: 'true'
    restart: on-failure
    volumes:
      - data-zammad:/home/zammad

  zammad-railsserver:
    image: zammad/zammad-docker-compose:zammad-railsserver
    labels:
      io.rancher.container.pull_image: always
    links:
      - elasticsearch
      - postgresql
      - zammad
    depends_on:
      - elasticsearch
      - postgresql
      - zammad
    restart: always

  zammad-scheduler:
    image: zammad/zammad-docker-compose:zammad-scheduler
    labels:
      io.rancher.container.pull_image: always
    links:
      - elasticsearch
      - postgresql
      - zammad
    depends_on:
      - elasticsearch
      - postgresql
      - zammad
    restart: always

  zammad-websocket:
    image: zammad/zammad-docker-compose:zammad-websocket
    labels:
      io.rancher.container.pull_image: always
    links:
      - postgresql
      - zammad
    depends_on:
      - postgresql
      - zammad
    restart: always

volumes:
  data-zammad:
    driver: local
