-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocker-compose.yml
99 lines (90 loc) · 2.73 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
version: "3.3"
services:
###############################################
#### Minecraft #####
###############################################
mc-proxy:
image: itzg/bungeecord:latest
container_name: mc-proxy
restart: unless-stopped
ports:
- "25565:25577"
- "19132:19132"
- "25565:25577/udp"
- "19132:19132/udp"
networks:
- mc-backend
volumes:
- "./data/minecraft/proxy:/server"
environment:
- TYPE=VELOCITY
- MEMORY=1G
- MAX_MEMORY=2G
mc1:
image: itzg/minecraft-server:java17
container_name: mc1
#ports:
# - 25565:25565
# - 25565:25565/udp
environment:
- EULA=TRUE
- VERSION=1.19.2
- TZ=Europe/Berlin
- MEMORY=5G
tty: true
stdin_open: true
restart: unless-stopped
volumes:
- ./data/minecraft/mc1:/data
- /etc/timezone:/etc/timezone:ro
networks:
- mc-backend
mc2:
image: itzg/minecraft-server:java17
container_name: mc2
#ports:
# - 25565:25565
# - 25565:25565/udp
environment:
- EULA=TRUE
- VERSION=1.19.2
- TZ=Europe/Berlin
- MEMORY=5G
tty: true
stdin_open: true
restart: unless-stopped
volumes:
- ./data/minecraft/mc2:/data
- /etc/timezone:/etc/timezone:ro
networks:
- mc-backend
###############################################
#### Filebrowser #####
###############################################
filebrowser:
image: filebrowser/filebrowser:latest
container_name: mc-filebrowser
restart: unless-stopped
security_opt:
- no-new-privileges:true
user: 1000:1000
command: "--noauth"
volumes:
- ./data/minecraft:/srv
- ./data/filebrowser/filebrowser.db:/database.db
networks:
- proxy
labels:
- "traefik.enable=true" #<== Enable traefik
- "traefik.http.routers.filebrowser-secured.rule=Host(`mc-files.${DOMAIN}`)" #<== Set domain
- "traefik.http.routers.filebrowser-secured.entrypoints=websecure" #<== Set entry point for HTTPS
- "traefik.http.routers.filebrowser-secured.tls.certresolver=mytlschallenge" #<== Set certsresolvers for https
- "traefik.http.routers.filebrowser-secured.middlewares=authelia" #<== Add Authelia middlewares to protect login
- "traefik.http.routers.filebrowser-secured.service=filebrowser-service" #<== Set service
- "traefik.http.services.filebrowser-service.loadbalancer.server.port=80" #<== Set target port on container
networks:
mc-backend:
name: mc-backend
driver: bridge
proxy:
external: true