-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdocker-compose.yml
107 lines (98 loc) · 3.04 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
volumes:
logs:
mqtt_data:
queue_data:
networks:
default:
name: karakara_default
external: ${EXTERNAL_NETWORK}
services:
nginx:
image: nginx:alpine
restart: unless-stopped
mem_limit: 1g
ports:
- "127.0.0.1:${PORT_NGINX}:80"
volumes:
- logs:/logs
- ${PATH_HOST_processed}:/media/processed:ro
- ${PWD}/tools/:/static/tools/:ro
- ${PWD}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- queue_data:/data/queue/:ro
#- ${PWD}/nginx/logrotate.conf:/etc/logrotate.d/nginx:ro
links:
- api_queue
- mqtt
- player3
- browser3
labels:
- "traefik.enable=true"
- "traefik.http.routers.karakara.rule=Host(`${HOSTNAME}`)"
- "traefik.http.routers.karakara.middlewares=kkredir"
- "traefik.http.middlewares.kkredir.redirectregex.regex=^https://karakara.uk/$$"
- "traefik.http.middlewares.kkredir.redirectregex.replacement=https://karakara.uk/browser3/"
api_queue:
build:
context: ./api_queue
restart: unless-stopped
mem_limit: 1g
environment:
SANIC_MQTT: mqtt
SANIC_PATH_TRACKS: /media/processed/tracks.json # TODO: same as `processmedia2/config.docker.json` - consider from ENV?
SANIC_PATH_QUEUE: /data/queue/ # See volumes below
#ports: # for local dev
# - 8000:8000
links:
- mqtt
volumes:
- ${PATH_HOST_processed}:/media/processed:ro
- logs:/logs
- queue_data:/data/queue/:rw
#- ${PWD}/api_queue/:/app/:ro # local dev testing only
mqtt:
image: eclipse-mosquitto
restart: unless-stopped
mem_limit: 1g
volumes:
- mqtt_data:/mosquitto/data
- ${PWD}/mqtt/:/mosquitto/config/:ro
player3:
build:
context: ./player3
restart: unless-stopped
mem_limit: 1g
browser3:
build:
context: ./browser3
restart: unless-stopped
mem_limit: 1g
processmedia3:
profiles:
- processmedia3
build:
context: ./processmedia3
restart: unless-stopped
mem_limit: 8g
volumes:
- logs:/logs
- ${PATH_HOST_source}:/media/source:ro
- ${PATH_HOST_processed}:/media/processed:rw
syncthing:
profiles:
- syncthing
image: syncthing/syncthing
restart: unless-stopped
mem_limit: 1g
cpu_count: 1
hostname: karakara
environment:
PUID: 1002
PGID: 1003
UMASK: 002
volumes:
- ${PWD}/media:/var/syncthing
ports:
- 127.0.0.1:8384:8384 # Web UI
- 22000:22000/tcp # TCP file transfers
- 22000:22000/udp # QUIC file transfers
- 21027:21027/udp # Receive local discovery broadcasts