Repository navigation
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
52 lines (50 loc) · 1.86 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
52 lines (50 loc) · 1.86 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
# Prod-shaped template — mirrors the live `7cav-api` stack.
#
# Prerequisites for `docker compose up`:
# - A `xenforo` stack is already running (provides `xenforo-db` on
# the `xenforo_internal` network).
# - The external networks exist:
# docker network create edge
# docker network create xenforo_internal
services:
api:
build:
dockerfile: "Dockerfile"
context: "./"
# The prod host pins API_TAG in its stack .env. The release workflow's
# deploy job writes the release tag there over SSH, then pulls and
# recreates. Unset, as in a local `docker compose up` from this template,
# the tag falls back to `latest`. Prod never runs `latest`.
image: 7cav/api:${API_TAG:-latest}
container_name: 7cav-api
networks:
- edge
- xenforo_internal
restart: always
# Single public listener (#134/#135). The old gRPC port (:10000) and its
# PORT dial-target env are gone with the gateway.
ports:
- "11000:11000"
environment:
DB_USERNAME: xenforo
DB_PASSWORD:
DB_HOST: xenforo-db
DB_PORT: 3306
# Optional — populates Ticket.forum_url; empty if unset.
# FORUM_BASE_URL: https://7cav.us
# Optional — refresh interval for the in-memory ticket reference cache; defaults to 15m.
# REFERENCE_CACHE_REFRESH_INTERVAL: 15m
# Optional — enables errors-only Sentry capture (#118). The DSN lives only
# in the prod host's compose config (#113); unset anywhere else = no-op.
# SENTRY_DSN:
# Optional — verbose Sentry SDK diagnostics (one log line per event sent;
# send failures/drops/rate limits become visible). For debugging delivery
# problems without a rebuild; leave unset normally.
# SENTRY_DEBUG: "true"
networks:
edge:
external: true
name: edge
xenforo_internal:
external: true
name: xenforo_internal