diff options
Diffstat (limited to 'services/templates/docker-compose.yaml.template')
-rw-r--r-- | services/templates/docker-compose.yaml.template | 58 |
1 files changed, 55 insertions, 3 deletions
diff --git a/services/templates/docker-compose.yaml.template b/services/templates/docker-compose.yaml.template index a48d529..f9ea0dc 100644 --- a/services/templates/docker-compose.yaml.template +++ b/services/templates/docker-compose.yaml.template @@ -15,16 +15,48 @@ services: env_file: - "./@@CRUPEST_GENERATED_DIR@@/envs/nginx.env" - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray-common.env" + - "./@@CRUPEST_GENERATED_DIR@@/envs/mail-server-common.env" volumes: + - "./@@CRUPEST_GENERATED_DIR@@/nginx:/etc/nginx/conf.d" - "./@@CRUPEST_DATA_CERTBOT_DIR@@/certs:/etc/letsencrypt" - "./@@CRUPEST_DATA_CERTBOT_DIR@@/data:/var/lib/letsencrypt" - - "./@@CRUPEST_DATA_CERTBOT_DIR@@/webroot:/srv/acme:ro" - "./@@CRUPEST_DATA_CERTBOT_DIR@@/webroot:/var/www/certbot" networks: default: ipv4_address: "172.21.5.2" restart: "on-failure:3" + mail-server: + pull_policy: build + build: + context: "./@@CRUPEST_DOCKER_DIR@@/mail-server" + additional_contexts: + - "deno=./deno" + dockerfile: Dockerfile + pull: true + container_name: mail-server + hostname: mail + domainname: "@@CRUPEST_DOMAIN@@" + env_file: + - "./@@CRUPEST_GENERATED_DIR@@/envs/mail-server-common.env" + - "./@@CRUPEST_GENERATED_DIR@@/envs/mail-server.env" + ports: + - "143:143" # IMAP4 (explicit TLS => STARTTLS) + - "993:993" # IMAP4 (implicit TLS) + - "587:587" # ESMTP (explicit TLS => STARTTLS) + - "465:465" # ESMTP (implicit TLS) + - "4190:4190" # manage sieve protocol + volumes: + - "./@@CRUPEST_DATA_MAIL_SERVER_DIR@@:/data" + - "./@@CRUPEST_SSL_FULLCHAIN_FILE@@:/etc/dovecot/ssl/tls.crt" + - "./@@CRUPEST_SSL_PRIVATE_KEY_FILE@@:/etc/dovecot/ssl/tls.key" + - "/etc/localtime:/etc/localtime:ro" + networks: + default: + ipv4_address: "172.21.5.3" + restart: "on-failure:3" + stop_grace_period: 1m + git-server: pull_policy: build build: @@ -38,7 +70,24 @@ services: - "./@@CRUPEST_DATA_GIT_DIR@@:/git" networks: default: - ipv4_address: "172.21.5.3" + ipv4_address: "172.21.5.4" + restart: on-failure:3 + + roundcubemail: + image: "roundcube/roundcubemail" + pull_policy: always + hostname: roundcubemail + env_file: + - "./@@CRUPEST_GENERATED_DIR@@/envs/roundcubemail.env" + volumes: + - "./@@CRUPEST_GENERATED_DIR@@/my-roundcube.inc.php:/var/roundcube/config/my-roundcube.inc.php" + - "./@@CRUPEST_DATA_SECRET_DIR@@/gnupg:/var/roundcube/enigma" + - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/www/html:/var/www/html" + - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/db:/var/roundcube/db" + - "roundcubemail-temp:/tmp/roundcube-temp" + networks: + default: + ipv4_address: "172.21.5.5" restart: on-failure:3 v2ray: @@ -53,7 +102,7 @@ services: - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray.env" networks: default: - ipv4_address: "172.21.5.5" + ipv4_address: "172.21.5.6" restart: "on-failure:3" auto-backup: @@ -69,6 +118,9 @@ services: - "./data/auto-backup:/data/auto-backup" restart: "on-failure:3" +volumes: + roundcubemail-temp: + networks: default: enable_ipv6: false |