1
0
ketr.services/docker-compose.yml
James Ketrenos 97a73102bf Working on DNS and email
Signed-off-by: James Ketrenos <james_git@ketrenos.com>
2023-10-07 00:15:49 -07:00

105 lines
3.5 KiB
YAML

version: "3.1"
services:
ketrenet-web:
image: ketrenet-web
container_name: ketrenet-web
hostname: webserver
build:
context: .
dockerfile: Dockerfile.web
restart: always
volumes:
- ./config/web/etc/nginx/sites-enabled:/etc/nginx/sites-enabled:ro
- ./config/web/etc/nginx/sites-available:/etc/nginx/sites-available:ro
- ./config/web/etc/apache2/envvars:/etc/apache2/envvars:ro
- ./config/web/etc/apache2/ports.conf:/etc/apache2/ports.conf:ro
- ./config/web/etc/apache2/sites-enabled:/etc/apache2/sites-enabled:ro
- ./config/web/etc/apache2/sites-available:/etc/apache2/sites-available:ro
- ./config/letsencrypt/etc/letsencrypt/live:/etc/letsencrypt/live:ro
- ./config/letsencrypt/etc/letsencrypt/archive:/etc/letsencrypt/archive:ro
- ./web.sh:/web.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: .
dockerfile: Dockerfile.mail
restart: always
ports:
- 143:143 # dovecot imap
- 993:993 # dovecot imaps
- 25:25 # postfix smtp
- 465:465 # postfix smtps
- 587:587 # postfix submission
volumes:
- ./config/letsencrypt/etc/letsencrypt/live:/etc/letsencrypt/live:ro
- ./config/letsencrypt/etc/letsencrypt/archive:/etc/letsencrypt/archive:ro
- ./config/mail/etc/mailname:/etc/mailname:ro
- ./config/mail/etc/dovecot:/etc/dovecot:ro
- ./config/mail/etc/amavis:/etc/amavis:ro
- ./config/mail/etc/clamav:/etc/clamav:ro
- ./config/mail/etc/hostname:/etc/hostname:ro
- ./config/mail/etc/dkimkeys:/etc/dkimkeys:ro
- ./config/mail/etc/opendkim.conf:/etc/opendkim.conf:ro
- ./config/mail/etc/opendkim:/etc/opendkim:ro
- ./config/mail/etc/postfix:/etc/postfix:ro
- ./config/mail/etc/postfix-policyd-spf-python:/etc/postfix-policyd-spf-python:ro
- ./config/mail/etc/postgrey:/etc/postgrey:ro
- ./mail.sh:/mail.sh:ro
- ./data/log:/var/log:rw
- /home:/home:rw
- ./www:/var/www:ro
ketrenet-roundcube:
image: roundcube/roundcubemail
container_name: ketrenet-roundcube
user: root
environment:
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://ketrenos.com
- ROUNDCUBEMAIL_SMTP_SERVER=tls://ketrenos.com
- ROUNDCUBEMAIL_SMTP_PORT=587
ports:
- 8124:80
restart: always
volumes:
- ./config/roundcube/var/roundcube:/var/roundcube/config:ro
- ./data/roundcube/db:/var/roundcube/db:rw
- ./data/roundcube/html:/var/www/html:rw
ketrenet-letsencrypt:
image: ketrenet-letsencrypt
container_name: ketrenet-letsencrypt
build:
context: .
dockerfile: Dockerfile.letsencrypt
restart: always
volumes:
- ./config/letsencrypt/etc/letsencrypt/etc/letsencrypt:/etc/letsencrypt:rw
- ./config/letsencrypt/etc/letsencrypt/etc/cron.d:/etc/cron.d:ro
- ./data/log:/var/log:rw
- ./keys:/keys:ro
- ./www:/var/www:rw
- ./letsencrypt.sh:/letsencrypt.sh:ro
ketrenet-dns:
image: ketrenet-dns
container_name: ketrenet-dns
hostname: email
build:
context: .
dockerfile: Dockerfile.dns
restart: always
ports:
- 53:53 # named
- 68:67/udp # dhcp
volumes:
- ./config/dns/etc/named:/etc/named:ro
- ./config/dns/etc/bind:/etc/bind:ro
- ./dns.sh:/dns.sh:ro
- ./data/log:/var/log:rw
- ./data/dns/var/lib/:/var/lib:rw