services: apache: build: context: . dockerfile: apache.dockerfile container_name: ost-apache ports: - "80:80" volumes: - ./osTicket-v1.18.2:/var/www/html restart: unless-stopped depends_on: - mysql networks: osticket-network: ipv4_address: ${APACHE_IP} mysql: image: mariadb:lts container_name: ost-mysql ports: - "3306:3306" environment: MARIADB_DATABASE: ${MYSQL_DATABASE} MARIADB_USER: ${MYSQL_USER} MARIADB_PASSWORD: ${MYSQL_PASSWORD} MARIADB_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} volumes: - ./mariadb:/var/lib/mysql healthcheck: test: [ "CMD", "healthcheck.sh","--connect" ] interval: 10s restart: unless-stopped networks: osticket-network: ipv4_address: ${MYSQL_IP} mailserver: image: ghcr.io/docker-mailserver/docker-mailserver:latest container_name: ost-mailserver hostname: ${MAIL_HOSTNAME} ports: - "25:25" - "465:465" - "587:587" - "993:993" volumes: - ./docker-data/dms/mail-data/:/var/mail/ - ./docker-data/dms/mail-state/:/var/mail-state/ - ./docker-data/dms/mail-logs/:/var/log/mail/ - ./docker-data/dms/config/:/tmp/docker-mailserver/ - /opt/shared-certs/:/tmp/dms/custom-certs/:ro environment: - ENABLE_RSPAMD=0 - ENABLE_CLAMAV=0 - ENABLE_FAIL2BAN=0 - ENABLE_SPAMASSASSIN=0 - ENABLE_AMAVIS=0 - SSL_TYPE=manual - SSL_CERT_PATH=${SSL_CERT_PATH} - SSL_KEY_PATH=${SSL_KEY_PATH} - POSTFIX_MASTER_CF_OVERRIDES=/tmp/docker-mailserver/postfix-master.cf - POSTFIX_VIRTUAL_TRANSPORT=/tmp/docker-mailserver/postfix-virtual.cf - OSTICKET_API_KEY=${OSTICKET_API_KEY} - OSTICKET_URL=http://${APACHE_IP}/api/tickets.email cap_add: - NET_ADMIN # For Fail2Ban to work restart: unless-stopped networks: osticket-network: ipv4_address: ${MAILSERVER_IP} networks: osticket-network: driver: bridge ipam: config: - subnet: ${SUBNET}