-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
47 lines (43 loc) · 1.59 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
services:
youtubepedia:
container_name: youtubepedia
restart: always
build:
context: ./
dockerfile: Dockerfile
args:
- DATABASE_URL
- SMTP_HOST
- SMTP_PORT
- SMTP_USER
- SMTP_PASS
- PUBLIC_SITE_URL
- SMTP_SERVICE
- GOOGLE_CLIENT_ID
- GOOGLE_CLIENT_SECRET
- GROQ_API_KEY
env_file: .env
networks:
- proxy
labels:
- 'traefik.enable=true'
# Main application
- 'traefik.http.routers.youtubepedia.rule=Host(`youtubepedia.barron.agency`)'
- 'traefik.http.routers.youtubepedia.entrypoints=websecure'
- 'traefik.http.routers.youtubepedia.tls=true'
- 'traefik.http.routers.youtubepedia.tls.certresolver=letsencrypt'
- 'traefik.http.services.youtubepedia.loadbalancer.server.port=3000'
# Socket.IO specific route
- 'traefik.http.routers.youtubepedia-socket.rule=Host(`youtubepedia.barron.agency`) && PathPrefix(`/socket.io`)'
- 'traefik.http.routers.youtubepedia-socket.entrypoints=websecure'
- 'traefik.http.routers.youtubepedia-socket.tls=true'
- 'traefik.http.routers.youtubepedia-socket.tls.certresolver=letsencrypt'
- 'traefik.http.routers.youtubepedia-socket.service=youtubepedia'
# Middleware for websocket and long polling
- 'traefik.http.middlewares.sio.headers.customrequestheaders.Connection=upgrade'
- 'traefik.http.middlewares.sio.headers.customrequestheaders.Upgrade=websocket'
- 'traefik.http.routers.youtubepedia-socket.middlewares=sio'
networks:
proxy:
external: false
name: proxy