feat: add LiteLLM gateway scaffold and dashboard health probe
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 2m11s

Introduce a localhost-only LiteLLM service template and expose a protected dashboard health endpoint for operational visibility, while adding cc-connect mobile bridge templates with conservative defaults.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Gan, Jimmy
2026-03-02 01:08:12 +08:00
parent bd2a166253
commit ed4090a910
9 changed files with 193 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
# cc-connect (Phase 1)
Mobile bridge service for interacting with coding agents through chat, with LiteLLM as model gateway.
## Scope
- LiteLLM remains the unified cloud-model endpoint.
- cc-connect remains the chat/mobile bridge.
- Start with a single platform (Discord) for lower operational risk.
## Files
- `config.example.toml`: non-secret template.
- `docker-compose.yml`: optional always-on service shape.
## Setup (NAS)
1. Copy template and fill secrets locally:
- `cp cc-connect/config.example.toml cc-connect/config.toml`
- create `cc-connect/.env` with platform token(s)
2. Keep secrets local only (`.env` is gitignored).
3. Start service:
- `docker compose -f cc-connect/docker-compose.yml up -d`
## Security defaults
- Single platform enabled.
- Confirm/permission-gated command mode.
- Keep shell/file-write capabilities disabled initially.
- Restrict users/channels with explicit allowlists.
## Notes
- This repo only includes templates and orchestration shape.
- Exact runtime keys/fields can vary by cc-connect release; adjust `config.toml` to your installed version.
+27
View File
@@ -0,0 +1,27 @@
# cc-connect config template
# Keep one platform enabled at a time for minimal attack surface.
# This template starts with Discord only.
[service]
name = "nas-cc-connect"
log_level = "info"
[bridge]
provider = "litellm"
base_url = "http://host.docker.internal:4005"
model = "claude-arch"
request_timeout_sec = 30
[platform.discord]
enabled = true
bot_token = ""
allowed_user_ids = []
allowed_channel_ids = []
[security]
# Conservative defaults for initial rollout.
permission_mode = "confirm"
allow_yolo_mode = false
allow_shell = false
allow_file_write = false
max_session_minutes = 30
+22
View File
@@ -0,0 +1,22 @@
services:
cc-connect:
image: chenhg5/cc-connect:latest
container_name: cc-connect
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
env_file:
- path: .env
required: false
volumes:
- ./config.toml:/app/config.toml:ro
command:
- "--config"
- "/app/config.toml"
extra_hosts:
- "host.docker.internal:host-gateway"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"