-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
136 lines (131 loc) · 3.52 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
version: '2.3'
#TODO: build on top of downloaded SMF release? e.g. https://download.simplemachines.org/index.php/smf_1-1-21_install.zip
x-build: &build_defaults
args:
AQUARIUM_HOME: /home/gizmo71
AQUARIUM_USER: 9997
AQUARIUM_GROUP: 48
AQUARIUM_PHP_EXTS: zip mysql gd bcmath
AQUARIUM_PHP_BUILD_LIBS: libzip-dev libpng-dev
AQUARIUM_PHP_RUNTIME_LIBS: libpng libzip
x-service: &service_defaults
domainname: "${HOSTNAME}"
networks:
srou-net: {}
restart: always
volumes:
- home:/home/gizmo71
- web:/srv
- /var/backup/srou:/var/backup:ro
environment:
SROU_HOST_WWW: www${SROU_ENV}.simracing.org.uk
SROU_HOST_DOWNLOAD: downloads${SROU_ENV}.simracing.org.uk
SROU_HOST_REPLAY: replays${SROU_ENV}.simracing.org.uk
SROU_HOST_UKGPL: www${SROU_ENV}.ukgpl.com
SROU_DB_HOST: mysql
SROU_DB_PREFIX: gizmo71_
SROU_ROOT: /srv
MYSQL_DATABASE: gizmo71
MYSQL_PORT: ${DB_PORT}
env_file:
- ../../../secrets/mariadb.env
services:
mysql:
<<: *service_defaults
container_name: 'aquarium-mysql-srou${SROU_ENV}'
image: 'gizmo71/mariadb:10.4'
hostname: "mysql-srou${SROU_ENV}"
networks:
srou-net:
ports:
- "${DB_PORT}:3306"
volumes:
- /srv/mysql/srou${SROU_ENV}/data:/srv/mysql
- /srv/mysql/srou${SROU_ENV}/var:/var/lib/mysql
- /srv/mysql/srou${SROU_ENV}/relay:/var/lib/mysql/relay
- ../../../mysql/replicate.sh:/home/gizmo71/replicate.sh
- ../../../mysql/conf:/etc/mysql/conf.d
shell:
<<: *service_defaults
container_name: 'aquarium-srou${SROU_ENV}-shell'
image: 'aquarium:srou${SROU_ENV}-shell'
build:
<<: *build_defaults
context: .
dockerfile: shell.Dockerfile
user: srou
stdin_open: true
tty: true
depends_on:
- mysql
php-fpm:
<<: *service_defaults
container_name: 'aquarium-srou${SROU_ENV}-php'
image: 'aquarium:srou${SROU_ENV}-php'
build:
<<: *build_defaults
context: .
dockerfile: php.Dockerfile
hostname: "srou${SROU_ENV}-php"
depends_on:
- shell
- mysql
web:
<<: *service_defaults
container_name: 'aquarium-srou${SROU_ENV}-web'
image: 'aquarium:srou${SROU_ENV}-web'
build:
<<: *build_defaults
context: .
dockerfile: httpd.Dockerfile
restart: always
ports:
- "${HTTP_PORT}:80"
depends_on:
- php-fpm
cron:
<<: *service_defaults
container_name: 'aquarium-srou${SROU_ENV}-cron'
image: 'aquarium:srou${SROU_ENV}-cron'
build:
<<: *build_defaults
context: .
dockerfile: crond.Dockerfile
restart: always
depends_on:
- web
sftp:
container_name: 'aquarium-srou${SROU_ENV}-sftp'
image: 'atmoz/sftp:alpine'
restart: always
volumes:
- ../../../secrets/srou-sftp:/etc/sftp.d/srou-sftp
- ukgpl:/home/ukgpl/home/ukgpl
- replays:/home/replays/home/replays
- ./keys/replays:/home/replays/.ssh/keys:ro
- ./keys/ukgpl:/home/ukgpl/.ssh/keys:ro
ports:
- "${SFTP_PORT}:22"
command: "ukgpl:*:e:9997:48 replays:*:e:9997:48"
networks:
srou-sftp: {}
networks:
srou-net:
driver: bridge
name: srou${SROU_ENV}-net
srou-sftp:
driver: bridge
name: srou${SROU_ENV}-sftp
volumes:
home:
driver: dories:latest
name: gizmo71
web:
driver: dories:latest
name: ${SROU_GLUSTER_ROOT}
ukgpl:
driver: dories:latest
name: ${SROU_GLUSTER_ROOT}/public_html.ukgpl
replays:
driver: dories:latest
name: ${SROU_GLUSTER_ROOT}/public_html.srou/replays