This repository was archived by the owner on Oct 1, 2026. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 652
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
69 lines (65 loc) · 2.07 KB
/
Copy pathdocker-compose.yml
File metadata and controls
69 lines (65 loc) · 2.07 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
services:
# ----------------------------------------------------------------------------
# Ahey app (Node/Express + socket.io signalling). Internal only; Caddy fronts it.
# ----------------------------------------------------------------------------
app:
build: .
restart: unless-stopped
expose:
- "824"
environment:
NODE_ENV: production
PORT: 824
DOMAIN: ${DOMAIN}
CORS_ORIGIN: https://${DOMAIN}
# TURN wiring — must match the coturn service below
TURN_HOST: ${DOMAIN}
TURN_SECRET: ${TURN_SECRET}
TURN_TTL: ${TURN_TTL:-86400}
networks:
- web
# ----------------------------------------------------------------------------
# Caddy reverse proxy — automatic HTTPS (Let's Encrypt) for the app domain.
# The issued cert is shared (read-only) with coturn for turns:// on 5349.
# ----------------------------------------------------------------------------
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
environment:
DOMAIN: ${DOMAIN}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
- app
networks:
- web
# ----------------------------------------------------------------------------
# coturn TURN/STUN server. Uses host networking so WebRTC relay ports bind
# directly on the droplet (bridge networking mangles the UDP relay range).
# ----------------------------------------------------------------------------
coturn:
image: coturn/coturn:latest
restart: unless-stopped
network_mode: host
entrypoint: ["sh", "/entrypoint.sh"]
environment:
DOMAIN: ${DOMAIN}
EXTERNAL_IP: ${EXTERNAL_IP}
TURN_SECRET: ${TURN_SECRET}
volumes:
- ./coturn/turnserver.conf:/etc/coturn/turnserver.conf:ro
- ./coturn/entrypoint.sh:/entrypoint.sh:ro
- caddy_data:/caddy-data:ro
depends_on:
- caddy
networks:
web:
volumes:
caddy_data:
caddy_config: