84 lines
2.1 KiB
YAML
84 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
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
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}
|
|
- OSTICKET_API_KEY=${OSTICKET_API_KEY}
|
|
- OSTICKET_URL=http://${APACHE_IP}/api/tickets.email
|
|
- SUPPORT_EMAIL=support@${MAIL_DOMAIN}
|
|
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}
|