Last active 1768781886

anthony's Avatar anthony revised this gist 1768781885. Go to revision

1 file changed, 96 insertions

compose.yml(file created)

@@ -0,0 +1,96 @@
1 + networks:
2 + localai_default:
3 + driver: bridge
4 +
5 + services:
6 + traefik:
7 + image: "traefik"
8 + restart: always
9 + command:
10 + - "--api.insecure=true"
11 + - "--providers.docker=true"
12 + - "--providers.docker.exposedbydefault=false"
13 + - "--entrypoints.web.address=:80"
14 + - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
15 + - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
16 + - "--entrypoints.websecure.address=:443"
17 + - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
18 + - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
19 + - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
20 + ports:
21 + - "80:80"
22 + - "443:443"
23 + volumes:
24 + - ./traefik_data:/letsencrypt
25 + - /var/run/docker.sock:/var/run/docker.sock:ro
26 + networks:
27 + - localai_default
28 +
29 + n8n:
30 + image: docker.n8n.io/n8nio/n8n
31 + restart: always
32 + ports:
33 + - "5678:5678"
34 + extra_hosts:
35 + - "host.docker.internal:host-gateway"
36 + labels:
37 + - traefik.enable=true
38 + - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
39 + - traefik.http.routers.n8n.tls=true
40 + - traefik.http.routers.n8n.entrypoints=web,websecure
41 + - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
42 + - traefik.http.middlewares.n8n.headers.SSLRedirect=true
43 + - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
44 + - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
45 + - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
46 + - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
47 + - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
48 + - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
49 + - traefik.http.middlewares.n8n.headers.STSPreload=true
50 + - traefik.http.routers.n8n.middlewares=n8n@docker
51 + environment:
52 + - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
53 + - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
54 + - N8N_PORT=5678
55 + - N8N_PROTOCOL=https
56 + - N8N_RUNNERS_ENABLED=true
57 + - NODE_ENV=production
58 + - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
59 + - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
60 + - TZ=${GENERIC_TIMEZONE}
61 + volumes:
62 + - ./n8n_data:/home/node/.n8n
63 + - ./n8n_files:/home/node/.n8n-files
64 + networks:
65 + - localai_default
66 +
67 + # https://ahmetoner.com/whisper-asr-webservice/
68 + whisper:
69 + image: onerahmet/openai-whisper-asr-webservice
70 + restart: always
71 + ports:
72 + - "9955:9000"
73 + extra_hosts:
74 + - "host.docker.internal:host-gateway"
75 + # labels:
76 + # - traefik.enable=true
77 + # - traefik.http.routers.whisper.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
78 + # - traefik.http.routers.whisper.tls=true
79 + # - traefik.http.routers.whisper.entrypoints=web,websecure
80 + # - traefik.http.routers.whisper.tls.certresolver=mytlschallenge
81 + # - traefik.http.middlewares.whisper.headers.SSLRedirect=true
82 + # - traefik.http.middlewares.whisper.headers.STSSeconds=315360000
83 + # - traefik.http.middlewares.whisper.headers.browserXSSFilter=true
84 + # - traefik.http.middlewares.whisper.headers.contentTypeNosniff=true
85 + # - traefik.http.middlewares.whisper.headers.forceSTSHeader=true
86 + # - traefik.http.middlewares.whisper.headers.SSLHost=${DOMAIN_NAME}
87 + # - traefik.http.middlewares.whisper.headers.STSIncludeSubdomains=true
88 + # - traefik.http.middlewares.whisper.headers.STSPreload=true
89 + # - traefik.http.routers.whisper.middlewares=whisper@docker
90 + environment:
91 + - ASR_MODEL=tiny
92 + networks:
93 + - localai_default
94 + profiles:
95 + - whisper
96 +
Newer Older