#
# Copyright (C) 2019 OX Software GmbH
# 
# This file is part of OX Automation.
#
# OX Automation is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OX Automation is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Benedikt Kroening <benedikt.kroening@open-xchange.com>
#
version: '3.7'
services:
  
  database:
    image: "gitlab.open-xchange.com:4567/docker/infrastructure/database:mysql-dumping"
    stop_grace_period: 2m
    volumes:
      - "${PWD}/.runtime/mysql-dump:/mysql-dump"
    ports:
      - 3306:3306
      - 33060:33060
    restart: always
    networks:
      - internal-net
  singlenode:
    image: singlenode:latest
    env_file: docker/config
    depends_on:
      - database
    volumes: # for quick testing you may want to export the middleware nodes etc directory
      - "${PWD}/.runtime/var/opt/filestore:/var/opt/filestore"
      - "${PWD}/.runtime/spool/middleware/uploads:/var/spool/open-xchange/uploads"
    ports:
      - 80:80
      - 443:443
    networks:
      - internal-net


  dovecot:
    # Very simple dovecot instance with static-passdb
    image: "gitlab.open-xchange.com:4567/docker/infrastructure/dovecot-backend:master"
    environment:
      - MAIL_DOMAIN=docker.qa.open-xchange.com
      - ENV_SUBNET=172.30.0.0/16
      - MAIL_DEBUG_LOG=0
    volumes:
      - "${PWD}/.runtime/home/vmail:/home/vmail"
    networks:
      - "internal-net"
    restart: always
  test-container:
    image: 'gitlab.open-xchange.com:4567/docker/infrastructure/testing-codecept:ox-installer'
    env_file: docker/config
    volumes:
      - "${PWD}/test-results/codeceptjs:/opt/open-xchange/tests/results/codeceptjs"
      - "${PWD}/test-results/postman:/opt/open-xchange/tests/results/postman"
    networks:
      - internal-net
    entrypoint: /opt/open-xchange/tests/ox_installer.sh
  selenium-chrome:
    image: selenium/standalone-chrome:3.141.59-titanium
    hostname: selenium-chrome-develop
    container_name: selenium-chrome-develop
    tmpfs:
      - /var/run
      - /var/cache
      #- /opt/google
    volumes:
      - /dev/shm:/dev/shm
    networks:
     - internal-net

networks:
  internal-net:
    ipam:
      config:
        - subnet: 172.30.0.0/16

