# NetClip hinter einem vorhandenen Reverse-Proxy In der `.env` `COMPOSE_PROFILES=` leer lassen – dann startet nur der NetClip-Server auf `PORT` (Standard 8080). Läuft der Proxy auf demselben Host, zusätzlich `BIND_ADDR=127.0.0.1` setzen. Wichtig für jeden Proxy: - **WebSocket-Upgrade** durchreichen (Pfad `/api/v1/rooms//ws`) - **lange Timeouts** für die WebSocket-Verbindung (Clients pingen alle 30 s) - **Upload-Größe** mindestens `MAX_CLIP_MB` (plus etwas Luft) - Puffern von Uploads abschalten (sonst landet jeder Upload erst komplett im Proxy) ## nginx ```nginx map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 443 ssl; http2 on; server_name clip.example.de; ssl_certificate /etc/letsencrypt/live/clip.example.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/clip.example.de/privkey.pem; client_max_body_size 1100m; proxy_request_buffering off; proxy_buffering off; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } } ``` ## Nginx Proxy Manager Proxy-Host anlegen → Forward `http://:8080`, **Websockets Support** einschalten. Unter *Advanced*: ```nginx client_max_body_size 1100m; proxy_request_buffering off; proxy_read_timeout 3600s; ``` ## Traefik (Labels am Service `netclip`) ```yaml labels: - traefik.enable=true - traefik.http.routers.netclip.rule=Host(`clip.example.de`) - traefik.http.routers.netclip.entrypoints=websecure - traefik.http.routers.netclip.tls.certresolver=letsencrypt - traefik.http.services.netclip.loadbalancer.server.port=8080 ``` Traefik reicht WebSockets automatisch durch und begrenzt die Upload-Größe standardmäßig nicht. ## Caddy ``` clip.example.de { reverse_proxy 127.0.0.1:8080 } ```