-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
96 lines (90 loc) · 2.64 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
version: '3.4'
networks:
default:
services:
shard01:
image: ryzom/server:latest
build:
context: ./docker/ryzom-server
# batchstart - start shard, compile on first run
# monitor - just show log.log, skip clone/compile/shard start
command: batchstart
working_dir: /srv/ryzom
restart: on-failure
domainname: ryzomcore.local
hostname: shard01
networks:
default:
aliases:
- shard01.ryzomcore.local
# shard _may_ try to contact these
extra_hosts:
- "shard.ryzom.com:127.0.0.1"
- "chat.ryzom.com:127.0.0.1"
- "app.ryzom.com:127.0.0.1"
- "api.ryzom.com:127.0.0.1"
environment:
MYSQL_HOST: db.ryzomcore.local
MYSQL_PWD: ryzom-mysql-root-password
# shard name from {RYZOM_ROOT}/shards/{DOMAIN}/
DOMAIN: shard01
# client needs access to FS:47851/udp port
ports:
- '127.0.0.1:47851:47851/udp'
# cap_add/security_op is needed for gdb to run inside container
cap_add:
- SYS_PTRACE
security_opt:
- seccomp=unconfined
volumes:
- ./shard-data:/srv/ryzom
db:
image: ryzom/mariadb:latest
build:
context: ./docker/mariadb
environment:
MYSQL_ROOT_PASSWORD: ryzom-mysql-root-password
restart: on-failure
networks:
default:
aliases:
- db.ryzomcore.local
volumes:
- ./shard-data/mariadb/my.cnf:/etc/mysql/conf.d/99-custom.cnf:ro
- ./shard-data/mariadb/initdb.d:/docker-entrypoint-initdb.d:ro
- ./shard-data/mariadb/lib:/var/lib/mysql
- ./shard-data/mariadb/log:/var/log/mysql
php:
image: ryzom/php:latest
build:
context: ./docker/php
restart: on-failure
networks:
default:
aliases:
- php.ryzomcore.local
volumes:
- ./shard-data/php/php.ini:/usr/local/etc/php/conf.d/00-php.ini:ro
- ./shard-data/www:/var/www
# if DOMAINS are left out (empty), no certificates are created/modified.
# /etc/nginx/certs can be read-only if certificates are created manually.
web:
image: ryzom/nginx:latest
build:
context: ./docker/nginx
ports:
- '127.0.0.1:8081:8081'
- '127.0.0.1:8481:8481'
restart: on-failure
environment:
DOMAINS: localhost shard01.ryzomcore.local
networks:
default:
aliases:
- web.ryzomcore.local
volumes:
- ./shard-data/nginx/certs:/etc/nginx/certs
- ./shard-data/nginx/phpfpm.conf:/etc/nginx/phpfpm.conf:ro
- ./shard-data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./shard-data/www/public:/var/www/public:ro
- ./shard-data/www/patch_client/patch:/var/www/public/patch:ro