-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.server.example.yaml
More file actions
64 lines (62 loc) · 1.89 KB
/
Copy pathcompose.server.example.yaml
File metadata and controls
64 lines (62 loc) · 1.89 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
# Server overlay: attach the player to the proxy-web nginx network (TLS terminated by jonasal/nginx-certbot).
# docker compose -f compose.yaml -f compose.server.yaml up -d --build
services:
app:
build:
context: ./app
args:
ANALYTICS_SRC: https://stats.example.com/script.js
ANALYTICS_ID: <umami website id>
networks:
- default
- proxy
render:
# same uid as the its-mytabs process, so imported tabs and renders stay writable for the player
user: "1993:1993"
volumes:
- ./bands:/bands
environment:
# read-only per-band instances (see app-band-a / app-band-b below)
TABRENDER_PUBLISH: "band-a=Band A:/bands/band-a/tabs;band-b=Band B:/bands/band-b/tabs"
OMP_NUM_THREADS: 3
TABRENDER_SOUNDFONT: /soundfont/FluidR3_GM_mono.sf2
TABRENDER_DROPBOX_REMOTE: "dropbox:Tabs/public"
# Read-only band instances under tabs.example.com/band-a and /band-b: own account each, only that band's tabs
# (copied by the renderer's publish step); nginx (deploy/tabs.conf) rejects every mutating API call except login.
app-band-a:
build:
context: ./app
args:
BASE: /band-a
ANALYTICS_SRC: https://stats.example.com/script.js
ANALYTICS_ID: <umami website id>
container_name: its-mytabs-band-a
ports:
- "127.0.0.1:47778:47777"
volumes:
- ./bands/band-a:/app/data
networks:
- default
- proxy
restart: unless-stopped
app-band-b:
build:
context: ./app
args:
BASE: /band-b
ANALYTICS_SRC: https://stats.example.com/script.js
ANALYTICS_ID: <umami website id>
container_name: its-mytabs-band-b
ports:
- "127.0.0.1:47779:47777"
volumes:
- ./bands/band-b:/app/data
networks:
- default
- proxy
restart: unless-stopped
networks:
default: {}
proxy:
external: true
name: proxy_default