forked from kestasjk/webDiplomacy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
118 lines (110 loc) · 3.71 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
###############################################################################
# Generated on phpdocker.io #
#
# Generic instructions: docker-compose up -d
#
# webDiplomacy instructions:
# Copy config.sample.php to config.php
# Run install/FullInstall/FullInstall.sql
# Register user account, use http://localhost:43001 to access registration mail
# Go to http://localhost:43000/gamemaster.php?gameMasterSecret= to set self as admin
# Go to http://localhost:43000/admincp.php and enable maintenance mode
# In the admin CP run the Clear variant caches command to ensure variants get installed fresh
# Go to http://localhost:43000/datc.php and run batch test
# Go to http://localhost:43000/admincp.php and disable maintenance mode
# Server is ready for dev work
#
###############################################################################
version: "3.1"
services:
memcached:
image: "memcached:alpine"
container_name: webdiplomacy-memcached
ports:
- "11211"
mailhog:
image: "mailhog/mailhog:latest"
ports:
- "43001:8025"
mariadb:
image: "mariadb:10.6"
container_name: "webdiplomacy-db"
restart: always
working_dir: /application
volumes:
- "./:/application"
environment:
- MYSQL_ROOT_PASSWORD=mypassword123
- MYSQL_DATABASE=webdiplomacy
- MYSQL_USER=webdiplomacy
- MYSQL_PASSWORD=mypassword123
ports:
- "43003:3306"
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- ${PHPMYADMIN_PORT:-8080}:80
environment:
- PMA_ARBITRARY=1
clickhouse:
image: "yandex/clickhouse-server:latest"
# This is necessary for doing live React dev for the new board, but isn't needed after doing a build. If the nginx config is changed to not redirect /beta/ to port 3000:
webserver:
image: "nginx:alpine"
working_dir: /application
volumes:
- "./:/application"
- "./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf"
ports:
- "${WEBDIP_PORT:-43000}:80"
depends_on:
- "php-fpm"
beta:
image: "node:16.15.1-alpine3.14"
container_name: webdiplomacy-beta
working_dir: /application
volumes:
- "./beta-src:/application"
ports:
- "3000:3000"
command: >
sh -c "npm install --legacy-peer-deps --unsafe-perm=true --allow-root &&
npm run start"
environment:
- CYPRESS_CACHE_FOLDER=/application/.cypress-cache
php-fpm:
build: phpdocker/php-fpm
working_dir: /application
volumes:
- "./:/application"
- "./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini"
command: /bin/sh -c "install/gamemaster-entrypoint.sh"
depends_on:
- "mariadb"
#environment:
# PHP_IDE_CONFIG: "serverName=Docker"
# XDEBUG_MODE: debug
# XDEBUG_CONFIG: client_host=host.docker.internal client_port=9003
# XDEBUG_SESSION: 1
webserver:
image: 'nginx:alpine'
working_dir: /application
volumes:
- './:/application'
- './phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf'
ports:
- '${WEBDIP_PORT:-43000}:80'
soketi:
container_name: "webdiplomacy-websocket"
restart: unless-stopped
image: "quay.io/soketi/soketi:1.0-16-debian"
ports:
- "${SOKETI_PORT:-6001}:6001"
- "${SOKETI_METRICS_SERVER_PORT:-9601}:9601"
environment:
- SOKETI_DEBUG=${SOKETI_DEBUG:-1}
- SOKETI_DEFAULT_APP_ID=${SOKETI_DEFAULT_APP_ID:-app-id}
- SOKETI_DEFAULT_APP_KEY=${SOKETI_DEFAULT_APP_KEY:-app-key}
- SOKETI_DEFAULT_APP_SECRET=${SOKETI_DEFAULT_APP_SECRET:-app-secret}
- USER_AUTHENTICATION_TIMEOUT=${SOKETI_USER_AUTHENTICATION_TIMEOUT:-5000}