132 lines
4.3 KiB
YAML
132 lines
4.3 KiB
YAML
version: "3.1"
|
|
services:
|
|
ketrenet-web:
|
|
image: ketrenet-web
|
|
container_name: ketrenet-web
|
|
hostname: webserver
|
|
build:
|
|
context: web
|
|
dockerfile: Dockerfile.web
|
|
restart: always
|
|
volumes:
|
|
- ./web/etc/nginx/sites-enabled:/etc/nginx/sites-enabled:ro
|
|
- ./web/etc/nginx/sites-available:/etc/nginx/sites-available:ro
|
|
- ./web/etc/apache2/envvars:/etc/apache2/envvars:ro
|
|
- ./web/etc/apache2/ports.conf:/etc/apache2/ports.conf:ro
|
|
- ./web/etc/apache2/sites-enabled:/etc/apache2/sites-enabled:ro
|
|
- ./web/etc/apache2/sites-available:/etc/apache2/sites-available:ro
|
|
- ./keys/cron/etc/letsencrypt/live:/etc/letsencrypt/live:ro
|
|
- ./keys/cron/etc/letsencrypt/archive:/etc/letsencrypt/archive:ro
|
|
- ./web/entrypoint.sh:/entrypoint.sh:ro
|
|
- ./data/log:/var/log:rw
|
|
- ./www:/var/www:ro
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
|
|
ketrenet-mail:
|
|
image: ketrenet-mail
|
|
container_name: ketrenet-mail
|
|
hostname: email
|
|
build:
|
|
context: mail
|
|
dockerfile: Dockerfile.mail
|
|
restart: always
|
|
ports:
|
|
- 143:143 # dovecot imap
|
|
- 993:993 # dovecot imaps
|
|
- 465:465 # postfix smtps
|
|
- 587:587 # postfix submission
|
|
volumes:
|
|
- ./keys/cron/etc/letsencrypt/live:/etc/letsencrypt/live:ro
|
|
- ./keys/cron/etc/letsencrypt/archive:/etc/letsencrypt/archive:ro
|
|
- ./mail/etc/mailname:/etc/mailname:ro
|
|
- ./mail/etc/aliases.db:/etc/aliases.db:rw
|
|
- ./mail/etc/aliases:/etc/aliases:rw
|
|
- ./mail/etc/dovecot:/etc/dovecot:ro
|
|
- ./mail/etc/amavis:/etc/amavis:ro
|
|
- ./mail/etc/clamav:/etc/clamav:ro
|
|
- ./mail/etc/hostname:/etc/hostname:ro
|
|
- ./mail/etc/opendkim.conf:/etc/opendkim.conf:ro
|
|
- ./mail/etc/opendkim:/etc/opendkim:ro
|
|
- ./mail/etc/postfix:/etc/postfix:rw
|
|
- ./mail/etc/postgrey:/etc/postgrey:ro
|
|
- ./mail/entrypoint.sh:/entrypoint.sh:ro
|
|
- ./data/log:/var/log:rw
|
|
- ./data/mail/var/mail:/var/mail:rw
|
|
- ./data/mail/var/spool/mail:/var/spool/mail:rw
|
|
- /home:/home:rw
|
|
- ./www:/var/www:ro
|
|
- ./data/mail/var/lib/clamav:/var/lib/clamav:rw
|
|
- ./mail/etc/rsyslog.conf:/etc/rsyslog.conf:ro
|
|
# Keys
|
|
- ./keys/mail/etc/dkimkeys:/etc/dkimkeys:ro
|
|
- ./keys/mail/etc/spamassassin/sa-update-keys/:/etc/spamassassin/sa-update-keys:rw
|
|
- ./keys/mail/etc/dovecot/private:/etc/dovecot-private:ro
|
|
- ./keys/mail/etc/opendkim:/etc/opendkim-private:ro
|
|
|
|
# Authentication of dovecot users via pam
|
|
#
|
|
#- /etc/passwd:/etc/systempasswd:ro
|
|
#- /etc/group:/etc/systemgroup:ro
|
|
#- /etc/shadow:/etc/systemshadow:ro
|
|
#- /etc/gshadow:/etc/systemgshadow:ro
|
|
# etc directories with permissions locked down
|
|
|
|
ketrenet-roundcube:
|
|
image: ketrenet-roundcube
|
|
container_name: ketrenet-roundcube
|
|
hostname: roundcube
|
|
build:
|
|
context: roundcube
|
|
dockerfile: Dockerfile.roundcube
|
|
restart: always
|
|
environment:
|
|
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://ketrenos.com
|
|
- ROUNDCUBEMAIL_SMTP_SERVER=tls://ketrenos.com
|
|
- ROUNDCUBEMAIL_SMTP_PORT=587
|
|
ports:
|
|
- 8124:80
|
|
volumes:
|
|
- ./roundcube/var/roundcube:/var/roundcube/config:ro
|
|
- ./data/roundcube/db:/var/roundcube/db:rw
|
|
- ./data/roundcube/html:/var/www/html:rw
|
|
|
|
ketrenet-cron:
|
|
image: ketrenet-cron
|
|
container_name: ketrenet-cron
|
|
build:
|
|
context: cron
|
|
dockerfile: Dockerfile.cron
|
|
restart: always
|
|
volumes:
|
|
- ./cron/etc/letsencrypt:/etc/letsencrypt:rw
|
|
- ./keys/cron/etc/letsencrypt/live:/etc/letsencrypt/live:rw
|
|
- ./keys/cron/etc/letsencrypt/archive:/etc/letsencrypt/archive:rw
|
|
- ./cron/etc/cron.d:/etc/cron.d:ro
|
|
- ./data/log:/var/log:rw
|
|
- ./keys/letsencrypt/:/keys:ro
|
|
- ./www:/var/www:rw
|
|
- ./cron/entrypoint.sh:/entrypoint.sh:ro
|
|
|
|
ketrenet-dns:
|
|
image: ketrenet-dns
|
|
container_name: ketrenet-dns
|
|
hostname: dns
|
|
build:
|
|
context: dns
|
|
dockerfile: Dockerfile.dns
|
|
restart: always
|
|
ports:
|
|
- 53:53/udp # bind
|
|
- 53:53/tcp # bind
|
|
- 67:67/udp # dhcp
|
|
- 68:68/udp # dhcp
|
|
volumes:
|
|
- ./keys/dns/ddns.key:/etc/ddns.key:ro
|
|
- ./dns/etc/dhcp:/etc/dhcp:ro
|
|
- ./dns/etc/bind:/etc/bind:ro
|
|
- ./dns/entrypoint.sh:/entrypoint.sh:ro
|
|
- ./data/log:/var/log:rw
|
|
- ./data/dns/var/lib/:/var/lib:rw
|