osticket-docker/docker-compose.yml

79 lines
2.1 KiB
YAML

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}