forked from nuxt/movies
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
83 lines (81 loc) · 4.06 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
version: '3.3'
services:
movie-shelf:
build:
context: .
args:
- NUXT_PUBLIC_PROXY_URL=https://proxy.movie-shelf.${DOMAIN}/
container_name: movie-shelf
restart: unless-stopped
environment:
- PGID=1001
- PUID=1000
- NUXT_PUBLIC_PROXY_URL=https://proxy.movie-shelf.${DOMAIN}/
- NUXT_PUBLIC_WORKER_URL=https://worker.movie-shelf.${DOMAIN}/
- NITRO_WORKER_PROXY_URL=http://localhost:3001/
- NITRO_WORKER_REMOTE_FOLDER_URL=${NITRO_WORKER_REMOTE_FOLDER_URL}
- NITRO_TMDB_API_KEY=${NITRO_TMDB_API_KEY}
- NITRO_PROWLARR_API_KEY=${NITRO_PROWLARR_API_KEY}
- NITRO_PROWLARR_URL=${NITRO_PROWLARR_URL}
- NITRO_TMDB_LANG=${NITRO_TMDB_LANG}
- NUXT_PUBLIC_RATING_COUNTRIES=${NUXT_PUBLIC_RATING_COUNTRIES}
volumes:
- '/opt/movie-shelf:/data'
- '/etc/localtime:/etc/localtime:ro'
expose:
- 3000/tcp
- 3001/tcp
- 3002/tcp
networks:
saltbox:
aliases:
- movie-shelf
logging:
driver: json-file
options:
max-size: 10m
labels:
- com.github.saltbox.saltbox_managed=true
- traefik.enable=true
# app
- traefik.http.routers.movie-shelf-http.entrypoints=web
- traefik.http.routers.movie-shelf-http.middlewares=globalHeaders@file,redirect-to-https,gzip
- traefik.http.routers.movie-shelf-http.rule=Host(`movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf-http.service=movie-shelf
- traefik.http.services.movie-shelf-http.loadbalancer.server.port=3000
- traefik.http.routers.movie-shelf.entrypoints=websecure
- traefik.http.routers.movie-shelf.middlewares=globalHeaders@file,secureHeaders@file,authelia
- traefik.http.routers.movie-shelf.rule=Host(`movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf.service=movie-shelf
- traefik.http.routers.movie-shelf.tls.certresolver=httpresolver
- traefik.http.routers.movie-shelf.tls.options=securetls@file
- traefik.http.services.movie-shelf.loadbalancer.server.port=3000
# proxy
- traefik.http.routers.movie-shelf-proxy-http.entrypoints=web
- traefik.http.routers.movie-shelf-proxy-http.middlewares=globalHeaders@file,redirect-to-https,gzip
- traefik.http.routers.movie-shelf-proxy-http.rule=Host(`proxy.movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf-proxy-http.service=movie-shelf-proxy
- traefik.http.services.movie-shelf-proxy-http.loadbalancer.server.port=3001
- traefik.http.routers.movie-shelf-proxy.entrypoints=websecure
- traefik.http.routers.movie-shelf-proxy.middlewares=globalHeaders@file,secureHeaders@file,authelia
- traefik.http.routers.movie-shelf-proxy.rule=Host(`proxy.movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf-proxy.service=movie-shelf-proxy
- traefik.http.routers.movie-shelf-proxy.tls.certresolver=httpresolver
- traefik.http.routers.movie-shelf-proxy.tls.options=securetls@file
- traefik.http.services.movie-shelf-proxy.loadbalancer.server.port=3001
# worker
- traefik.http.routers.movie-shelf-worker-http.entrypoints=web
- traefik.http.routers.movie-shelf-worker-http.middlewares=globalHeaders@file,redirect-to-https,gzip
- traefik.http.routers.movie-shelf-worker-http.rule=Host(`worker.movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf-worker-http.service=movie-shelf-worker
- traefik.http.services.movie-shelf-worker-http.loadbalancer.server.port=3002
- traefik.http.routers.movie-shelf-worker.entrypoints=websecure
- traefik.http.routers.movie-shelf-worker.middlewares=globalHeaders@file,secureHeaders@file,authelia
- traefik.http.routers.movie-shelf-worker.rule=Host(`worker.movie-shelf.${DOMAIN}`)
- traefik.http.routers.movie-shelf-worker.service=movie-shelf-worker
- traefik.http.routers.movie-shelf-worker.tls.certresolver=httpresolver
- traefik.http.routers.movie-shelf-worker.tls.options=securetls@file
- traefik.http.services.movie-shelf-worker.loadbalancer.server.port=3002
networks:
saltbox:
external: true