blob: b81875b9a7f36cf107735639c4997807d02d3fba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
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/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:/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_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:
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"
|