blob: 699bc6ffc268579e9099359f918b779c455f838d (
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
|
services:
halo:
image: halohub/halo:latest
container_name: halo
restart: on-failure:3
volumes:
- ./data/halo:/root/.halo
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "8090:8090"
environment:
- SERVER_PORT=8090
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver
- SPRING_DATASOURCE_URL=jdbc:h2:file:~/.halo/db/halo
- SPRING_DATASOURCE_USERNAME=admin
- SPRING_DATASOURCE_PASSWORD={{CRUPEST_HALO_DB_PASSWORD}}
- HALO_ADMIN_PATH=admin
- HALO_CACHE=memory
networks:
- internal
timeline:
image: crupest/timeline:latest
container_name: timeline
restart: on-failure:3
volumes:
- ./data/timeline:/root/timeline
ports:
- "5000:80"
networks:
- internal
code-server:
image: crupest/arch-code-server:latest
build:
context: ./docker/arch-code-server
dockerfile: Dockerfile
args:
- CRUPEST_USER={{CRUPEST_USER}}
- CRUPEST_GROUP={{CRUPEST_GROUP}}
- CRUPEST_UID={{CRUPEST_UID}}
- CRUPEST_GID={{CRUPEST_GID}}
- USE_CHINA_MIRROR={{CRUPEST_IN_CHINA}}
container_name: code-server
restart: on-failure:3
volumes:
- ./data/code-server:/data
ports:
- "8080:8080"
networks:
- internal
caddy:
image: caddy:latest
container_name: caddy
restart: on-failure:3
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv:ro
- ./data/caddy/data:/data
- ./data/caddy/config:/config
ports:
- "80:80"
- "443:443"
- "443:443/udp"
networks:
- internal
- external
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
container_name: mailserver
# If the FQDN for your mail-server is only two labels (eg: example.com),
# you can assign this entirely to `hostname` and remove `domainname`.
hostname: mail
domainname: {{CRUPEST_DOMAIN}}
env_file: mailserver.env
# More information about the mail-server ports:
# https://docker-mailserver.github.io/docker-mailserver/edge/config/security/understanding-the-ports/
# To avoid conflicts with yaml base-60 float, DO NOT remove the quotation marks.
ports:
- "25:25" # SMTP (explicit TLS => STARTTLS)
- "143:143" # IMAP4 (explicit TLS => STARTTLS)
- "465:465" # ESMTP (implicit TLS)
- "587:587" # ESMTP (explicit TLS => STARTTLS)
- "993:993" # IMAP4 (implicit TLS)
volumes:
- ./data/dms/mail-data/:/var/mail/
- ./data/dms/mail-state/:/var/mail-state/
- ./data/dms/mail-logs/:/var/log/mail/
- ./data/dms/config/:/tmp/docker-mailserver/
- ./data/certbot/certs:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro
restart: always
stop_grace_period: 1m
cap_add:
- NET_ADMIN
healthcheck:
test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1"
timeout: 3s
retries: 0
networks:
- external
networks:
internal:
internal: true
external:
|