-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
161 lines (153 loc) · 4.79 KB
/
docker-compose.yml
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
version: '3'
services:
moodle:
build:
context: https://github.com/ProjektAdLer/moodle-docker.git
args:
PLUGIN_VERSION: 5.0.1
MOODLE_VERSION: 4.5
# ports:
# - 8085:8080
environment:
BITNAMI_DEBUG: true
MOODLE_DATABASE_HOST: db_moodle
MOODLE_DATABASE_PORT_NUMBER: 3306
MOODLE_DATABASE_USER: ${_DB_MOODLE_USER}
MOODLE_DATABASE_PASSWORD: ${_DB_MOODLE_PW}
MOODLE_DATABASE_NAME: ${_DB_MOODLE_NAME}
MOODLE_USERNAME: ${_MOODLE_USER}
MOODLE_PASSWORD: ${_MOODLE_PW}
MOODLE_HOST: ${_URL_MOODLE}
PHP_POST_MAX_SIZE: 2048M
PHP_UPLOAD_MAX_FILESIZE: 2048M
USER_NAME: student,manager
USER_PASSWORD: Student1234!1234,Manager1234!1234
USER_ROLE: false,manager
volumes:
- moodle_moodle:/bitnami/moodle
- moodle_moodledata:/bitnami/moodledata
networks:
- traefik_gateway
- internal
depends_on:
- db_moodle
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.moodle_${_DEPLOYMENT_NAME}.rule=Host(`${_URL_MOODLE}`)"
- "traefik.http.routers.moodle_${_DEPLOYMENT_NAME}.tls=true"
- "traefik.http.routers.moodle_${_DEPLOYMENT_NAME}.tls.certresolver=le"
- "traefik.http.routers.moodle_${_DEPLOYMENT_NAME}.entrypoints=websecure"
env_file:
- stack.env
db_moodle:
image: docker.io/bitnami/mariadb:10.11
environment:
MARIADB_USER: ${_DB_MOODLE_USER}
MARIADB_PASSWORD: ${_DB_MOODLE_PW}
MARIADB_ROOT_PASSWORD: ${_DB_ROOT_PW}
MARIADB_DATABASE: ${_DB_MOODLE_NAME}
MARIADB_CHARACTER_SET: utf8mb4
MARIADB_COLLATE: utf8mb4_unicode_ci
volumes:
- db_moodle_data:/bitnami/mariadb
networks:
- internal
restart: unless-stopped
env_file:
- stack.env
db_backend:
image: docker.io/bitnami/mariadb:10.11
environment:
MARIADB_USER: ${_DB_BACKEND_USER}
MARIADB_PASSWORD: ${_DB_BACKEND_PW}
MARIADB_ROOT_PASSWORD: ${_DB_ROOT_PW}
MARIADB_DATABASE: ${_DB_BACKEND_NAME}
MARIADB_CHARACTER_SET: utf8mb4
MARIADB_COLLATE: utf8mb4_unicode_ci
volumes:
- db_backend_data:/bitnami/mariadb
networks:
- internal
restart: unless-stopped
env_file:
- stack.env
backend:
image: ghcr.io/projektadler/adlerbackend:2.4.0
environment:
ASPNETCORE_ENVIRONMENT: "Production"
ASPNETCORE_DBUSER: ${_DB_BACKEND_USER}
ASPNETCORE_DBPASSWORD: ${_DB_BACKEND_PW}
ASPNETCORE_DBNAME: ${_DB_BACKEND_NAME}
ASPNETCORE_DBHOST: db_backend
ASPNETCORE_DBPORT: 3306
ASPNETCORE_ADLER_MOODLEURL: https://${_URL_MOODLE}
ASPNETCORE_ADLER_HTTPPORT: 80
ASPNETCORE_ADLER_USEHTTPS: false
ASPNETCORE_ADLER_ADLERENGINEURL: https://${_URL_3D}
volumes:
- backend_wwwroot:/app/wwwroot
networks:
- traefik_gateway
- internal
depends_on:
- db_backend
labels:
- "traefik.enable=true"
- "traefik.http.routers.api_${_DEPLOYMENT_NAME}.rule=Host(`${_URL_BACKEND}`)"
- "traefik.http.routers.api_${_DEPLOYMENT_NAME}.tls=true"
- "traefik.http.routers.api_${_DEPLOYMENT_NAME}.tls.certresolver=le"
- "traefik.http.routers.api_${_DEPLOYMENT_NAME}.entrypoints=websecure"
- "traefik.http.services.api_${_DEPLOYMENT_NAME}.loadbalancer.server.port=80"
restart: unless-stopped
env_file:
- stack.env
frontend:
image: ghcr.io/projektadler/2d_3d_adler:2.6.0
networks:
- traefik_gateway
environment:
API_URL: "https://${_URL_BACKEND}/api"
MOODLE_URL: "https://${_URL_MOODLE}"
labels:
- "traefik.enable=true"
- "traefik.http.routers.3d_${_DEPLOYMENT_NAME}.rule=Host(`${_URL_3D}`)"
- "traefik.http.routers.3d_${_DEPLOYMENT_NAME}.tls=true"
- "traefik.http.routers.3d_${_DEPLOYMENT_NAME}.tls.certresolver=le"
- "traefik.http.routers.3d_${_DEPLOYMENT_NAME}.entrypoints=websecure"
- "traefik.http.services.3d_${_DEPLOYMENT_NAME}.loadbalancer.server.port=80"
restart: unless-stopped
env_file:
- stack.env
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOSTS: db_moodle,db_backend
PMA_PORT: 3306
PMA_USER: root
PMA_PASSWORD: ${_DB_ROOT_PW}
restart: unless-stopped
networks:
- internal
depends_on:
- db_moodle
- db_backend
ports:
- 127.0.0.1:8180:80
env_file:
- stack.env
volumes:
moodle_moodle:
driver: local
moodle_moodledata:
driver: local
db_moodle_data:
driver: local
db_backend_data:
driver: local
backend_wwwroot:
driver: local
networks:
traefik_gateway:
external: true
internal: