services: nginx: pull_policy: build build: context: "./@@CRUPEST_DOCKER_DIR@@/nginx" additional_contexts: - "www=./www" dockerfile: Dockerfile pull: true ports: - "80:80" - "443:443" - "443:443/udp" 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_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: context: "./@@CRUPEST_DOCKER_DIR@@/git-server" dockerfile: Dockerfile pull: true hostname: git-server environment: - "CRUPEST_ROOT_URL=@@CRUPEST_ROOT_URL@@" volumes: - "./@@CRUPEST_DATA_GIT_DIR@@:/git" networks: default: 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_DATA_SECRET_DIR@@/gnupg:/gnupg" - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/www/html:/var/www/html" - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/db:/var/roundcube/db" - "./@@CRUPEST_DATA_ROUNDCUBE_DIR@@/config:/var/roundcube/config" - "roundcubemail-temp:/tmp/roundcube-temp" networks: default: ipv4_address: "172.21.5.5" restart: on-failure:3 v2ray: pull_policy: build build: context: "./@@CRUPEST_DOCKER_DIR@@/v2ray" dockerfile: Dockerfile pull: true hostname: v2ray env_file: - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray-common.env" - "./@@CRUPEST_GENERATED_DIR@@/envs/v2ray.env" networks: default: ipv4_address: "172.21.5.6" restart: "on-failure:3" auto-backup: pull_policy: build build: context: "./@@CRUPEST_DOCKER_DIR@@/auto-backup" dockerfile: Dockerfile pull: true env_file: - "./@@CRUPEST_GENERATED_DIR@@/envs/auto-backup.env" volumes: - "./data:/data:ro" - "./data/auto-backup:/data/auto-backup" restart: "on-failure:3" volumes: roundcubemail-temp: networks: default: enable_ipv6: false ipam: config: - subnet: "172.21.5.0/24" ip_range: "172.21.5.64/26"