Last active 1768781886

compose.yml Raw
1networks:
2 localai_default:
3 driver: bridge
4
5services:
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
97