From e55f7aeed6cf21d3dd2b639ae60f83da442c5c61 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Fri, 8 May 2026 04:09:36 +0000 Subject: [PATCH] feat: add nanoclaude service and update ai/jellyfin routes - add nanoclaude service (EXAONE -> Gemma pipeline) on 127.0.0.1:8100 - ai.hyungi.net: split into /webhook/* -> nanoclaude and default -> gpu-hub-api - jellyfin: switch upstream from LAN 192.168.1.122 to Tailscale 100.76.254.116 --- caddy/Caddyfile | 15 +++++++++++---- docker-compose.yml | 28 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index fdad0da..42b3d37 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -42,16 +42,23 @@ # AI Gateway — authenticated external access # ============================================================ ai.hyungi.net { - reverse_proxy gpu-hub-api:8000 { - flush_interval -1 + # 2026-04-24: /webhook/* → nanoclaude (Synology Chat 봇 outgoing URL) + handle /webhook/* { + reverse_proxy nanoclaude:8100 + } + # 나머지 = OpenAI-compat API → gpu-hub-api + handle { + reverse_proxy gpu-hub-api:8000 { + flush_interval -1 + } } } # ============================================================ -# Jellyfin — Mac mini (192.168.1.122) +# Jellyfin — Mac mini (Tailscale 100.76.254.116) # ============================================================ jellyfin.hyungi.net { - reverse_proxy 192.168.1.122:8096 { + reverse_proxy 100.76.254.116:8096 { transport http { read_timeout 300s write_timeout 300s diff --git a/docker-compose.yml b/docker-compose.yml index 40a3bcc..46fe657 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -97,6 +97,33 @@ services: networks: - gateway-net + # ============================================================ + # NanoClaude — AI Assistant (EXAONE → Gemma pipeline) + # ============================================================ + nanoclaude: + build: + context: ../gpu-services + dockerfile: nanoclaude/Dockerfile + container_name: nanoclaude + ports: + - "127.0.0.1:8100:8100" + restart: unless-stopped + env_file: + - .env.nanoclaude + volumes: + - nanoclaude_data:/app/data + - /home/hyungi/.ssh/nanoclaude:/root/.ssh:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8100/health"] + interval: 30s + timeout: 5s + retries: 3 + networks: + - gateway-net + searxng: image: searxng/searxng@sha256:34d13094b1150bba739e16c95b7334040a524aadb557fbdbc41a42827aae5f8b container_name: searxng @@ -124,6 +151,7 @@ volumes: caddy_data: caddy_config: hub_data: + nanoclaude_data: networks: gateway-net: