-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
125 lines (114 loc) · 3.74 KB
/
docker-compose.yml
File metadata and controls
125 lines (114 loc) · 3.74 KB
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
version: '3.9'
services:
caddy:
container_name: core-caddy
restart: unless-stopped
image: ghcr.io/htl-grieskirchen-core/caddy-proxy:${TAG:-latest}
environment:
DOMAIN_NAME: "${DOMAIN_NAME}"
TLS_EMAIL: "${TLS_EMAIL}"
depends_on:
- backend
- secure
volumes:
- plugin-frontends:/srv/plugins
- ./mainframe-config.json:/srv/mainframe-config.input.json
- caddy-data:/data
ports:
- '80:80'
- '443:443'
- '443:443/udp'
networks:
- public
backend:
container_name: core-backend
restart: unless-stopped
image: ghcr.io/htl-grieskirchen-core/plugin-backend:${TAG:-latest}
environment:
ConnectionStrings__Production: "server=backend-database;database=core;user=root;password=network-security"
RSA__public-key: "public-key.pem"
JWT__Issuer: "https://mainframe.${DOMAIN_NAME}"
JWT__Audience: "https://mainframe.${DOMAIN_NAME}"
MainframeOrigin: "https://mainframe.${DOMAIN_NAME}"
depends_on:
- backend-database
volumes:
- ./public-keys:/app/keys
- plugin-backends:/app/plugins
networks:
- public
- backend
backend-database:
container_name: core-backend-database
restart: unless-stopped
image: mariadb:10.10
environment:
MARIADB_ROOT_PASSWORD: network-security
volumes:
- backend-database-data:/var/lib/mysql
networks:
- backend
secure:
container_name: core-secure
restart: unless-stopped
image: ghcr.io/htl-grieskirchen-core/secure-backend:${TAG:-latest}
environment:
ConnectionStrings__Production: "server=secure-database;database=core;user=root;password=network-security"
MainframeOrigin: "https://mainframe.${DOMAIN_NAME}"
LDAPConfiguration__ServerIp: "${LDAP_SERVER_IP}"
JWT__Issuer: "https://mainframe.${DOMAIN_NAME}"
JWT__Audience: "https://mainframe.${DOMAIN_NAME}"
RSA__private-key: "private-key.pem"
RSA__public-key: "public-key.pem"
depends_on:
- secure-database
volumes:
- ./private-keys:/app/keys
networks:
- public
- secure
secure-database:
container_name: core-secure-database
restart: unless-stopped
image: mariadb:10.10
environment:
MARIADB_ROOT_PASSWORD: network-security
volumes:
- secure-database-data:/var/lib/mysql
networks:
- secure
plugin-updater:
container_name: core-plugin-updater
restart: unless-stopped
image: ghcr.io/htl-grieskirchen-core/plugin-updater:${TAG:-latest}
volumes:
- ./mainframe-config.json:/data/mainframe-config.json
- plugin-frontends:/data/plugins/frontend
- plugin-backends:/data/plugins/backend
- /var/run/docker.sock:/var/run/docker.sock
container-updater:
container_name: core-container-updater
image: containrrr/watchtower
restart: unless-stopped
environment:
WATCHTOWER_CLEANUP: "true"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
adminer:
container_name: adminer
image: adminer
restart: always
ports:
- 8080:8080
networks:
- backend
volumes:
caddy-data:
backend-database-data:
secure-database-data:
plugin-frontends:
plugin-backends:
networks:
public:
backend:
secure: