forked from beyond-all-reason/BAR-Devtools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
113 lines (109 loc) · 3.98 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
113 lines (109 loc) · 3.98 KB
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
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: teiserver_dev
POSTGRES_PASSWORD: "123456789"
POSTGRES_DB: teiserver_dev
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "${BAR_POSTGRES_PORT:-5433}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U teiserver_dev"]
interval: 5s
timeout: 3s
retries: 10
teiserver:
build:
context: ./teiserver
dockerfile: ../docker/teiserver.dev.Dockerfile
depends_on:
postgres:
condition: service_healthy
ports:
- "4000:4000"
- "8200:8200"
- "8201:8201"
- "8888:8888"
environment:
PGHOST: postgres
PGPOOL: "20"
TEI_DB_HOSTNAME: postgres
TEI_DB_USERNAME: teiserver_dev
TEI_DB_PASSWORD: "123456789"
TEI_DB_NAME: teiserver_dev
TEI_DB_POOL_SIZE: "20"
TEI_DB_QUEUE_INTERVAL: "5000"
entrypoint: ["/bin/bash", "/entrypoint.sh"]
volumes:
- ./docker/teiserver-entrypoint.sh:/entrypoint.sh:ro,z
- ./docker/setup-spads-bot.exs:/setup-spads-bot.exs:ro,z
- devtools_state:/app/.devtools
# Overlay host source so the live container is the dev env; _build/deps + generated config/priv stay baked in.
- ./teiserver/lib:/app/lib:z
- ./teiserver/test:/app/test:z
- ./teiserver/assets:/app/assets:ro,z
- ./teiserver/.formatter.exs:/app/.formatter.exs:ro,z
- ./teiserver/.dialyzer_ignore.exs:/app/.dialyzer_ignore.exs:ro,z
- ./teiserver/.credo.exs:/app/.credo.exs:ro,z
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:4000/ || exit 1"]
interval: 10s
timeout: 5s
retries: 60
start_period: 180s
spads:
image: bar-devtools-spads:dev
build:
context: ./docker
dockerfile: spads.dev.Dockerfile
profiles: ["spads"]
depends_on:
teiserver:
condition: service_healthy
network_mode: host
entrypoint: ["/bin/bash", "/dev-entrypoint.sh"]
environment:
SPADS_LOBBY_HOST: "127.0.0.1"
SPADS_LOBBY_LOGIN: spadsbot
SPADS_LOBBY_PASSWORD: password
SPADS_PLUGINS: "BarChobby;ModeCommand"
# byar:test is on the BAR CDN, not pr-downloader's springrts default; the
# streamer endpoint 500s here, so pull pool files individually.
PRD_RAPID_REPO_MASTER: "https://repos-cdn.beyondallreason.dev/repos.gz"
PRD_RAPID_USE_STREAMER: "false"
# SPADS_LOCAL_MODES=1 (via `just spads::stage-modes`) makes ModeCommand serve
# docker/spads-modes/game_modes-local.json over the published asset.
MODECOMMAND_RELEASE_BASE: "${SPADS_LOCAL_MODES:+file:///spads-modes}"
MODECOMMAND_MODES_VERSION: "${SPADS_LOCAL_MODES:+local}"
volumes:
- ./docker/spads-dev-entrypoint.sh:/dev-entrypoint.sh:ro,z
- ./BYAR-Chobby/spads-plugins:/spads_plugins:ro,z
- ./docker/spads-modes:/spads-modes:ro,z
- spads_dev_data:/opt/spads/var/spring/data
# Share the client's maps with the autohost so its map list matches yours and
# real BAR maps (which carry their own start boxes) can be hosted. Overlays the
# named volume's stock installer maps. Override the source with BAR_DATA_DIR.
- "${BAR_DATA_DIR:-/home/daniel/.local/state/Beyond All Reason}/maps:/opt/spads/var/spring/data/maps:ro,z"
recoil-docs:
build:
context: ./RecoilEngine/doc/site
dockerfile: ../../../docker/recoil-docs.Dockerfile
platform: linux/amd64
profiles: ["docs"]
# Match the host UID/GID so files the extractor writes into the
# /recoil mount (e.g. rts/Lua/library/generated/) are host-owned.
# Without this the container runs as root, leaves root-owned files
# in the host's RecoilEngine checkout, and host-side cleanup
# (git clean, rm, just lua::reset) fails with EACCES.
user: "${HOST_UID:-1000}:${HOST_GID:-1000}"
volumes:
- ./RecoilEngine:/recoil:z
working_dir: /recoil/doc/site
ports:
- "1313:1313"
volumes:
pgdata:
devtools_state:
spads_dev_data: