feat(应用商店): 新增 Claude Code Hub 应用配置

添加 Claude Code Hub 应用的完整配置,包括 logo、数据文件、README 文档和 docker-compose 部署文件
This commit is contained in:
arch3rPro
2026-05-11 02:09:24 +08:00
parent a040d017d3
commit 9b71c569ac
8 changed files with 601 additions and 0 deletions
+131
View File
@@ -0,0 +1,131 @@
additionalProperties:
formFields:
- default: 23000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Web Port
labelZh: Web端口
required: true
rule: paramPort
type: number
label:
en: Web Port
zh: Web端口
ja: Webポート
ko: Web 포트
- default: ""
edit: true
envKey: ADMIN_TOKEN
labelEn: Admin Token
labelZh: 管理员令牌
required: true
rule: paramCommon
type: password
label:
en: Admin Token
zh: 管理员令牌
ja: 管理者トークン
ko: 관리자 토큰
- default: postgres
edit: true
envKey: DB_USER
labelEn: Database User
labelZh: 数据库用户名
required: true
rule: paramCommon
type: text
label:
en: Database User
zh: 数据库用户名
ja: データベースユーザー
ko: 데이터베이스 사용자
- default: ""
edit: true
envKey: DB_PASSWORD
labelEn: Database Password
labelZh: 数据库密码
required: true
rule: paramCommon
type: password
label:
en: Database Password
zh: 数据库密码
ja: データベースパスワード
ko: 데이터베이스 비밀번호
- default: claude_code_hub
edit: true
envKey: DB_NAME
labelEn: Database Name
labelZh: 数据库名称
required: true
rule: paramCommon
type: text
label:
en: Database Name
zh: 数据库名称
ja: データベース名
ko: 데이터베이스 이름
- default: "true"
edit: true
envKey: ENABLE_RATE_LIMIT
labelEn: Enable Rate Limit
labelZh: 启用限流
required: false
type: select
values:
- label: Enable
value: "true"
- label: Disable
value: "false"
label:
en: Enable Rate Limit
zh: 启用限流
ja: レート制限を有効化
ko: 속도 제한 활성화
- default: "300"
edit: true
envKey: SESSION_TTL
labelEn: Session TTL (seconds)
labelZh: 会话过期时间(秒)
required: false
rule: paramCommon
type: number
label:
en: Session TTL (seconds)
zh: 会话过期时间(秒)
ja: セッションTTL(秒)
ko: 세션 TTL (초)
- default: "true"
edit: true
envKey: AUTO_MIGRATE
labelEn: Auto Database Migration
labelZh: 自动数据库迁移
required: false
type: select
values:
- label: Enable
value: "true"
- label: Disable
value: "false"
label:
en: Auto Database Migration
zh: 自动数据库迁移
ja: 自動データベース移行
ko: 자동 데이터베이스 마이그레이션
- default: "false"
edit: true
envKey: ENABLE_SECURE_COOKIES
labelEn: Enable Secure Cookies (HTTPS only)
labelZh: 启用安全Cookie(仅HTTPS
required: false
type: select
values:
- label: Enable (HTTPS only)
value: "true"
- label: Disable (HTTP/HTTPS)
value: "false"
label:
en: Enable Secure Cookies (HTTPS only)
zh: 启用安全Cookie(仅HTTPS
ja: セキュアCookieを有効化(HTTPSのみ)
ko: 보안 쿠키 활성화 (HTTPS만)
@@ -0,0 +1,83 @@
name: ${COMPOSE_PROJECT_NAME:-claude-code-hub}
services:
postgres:
image: postgres:18
restart: unless-stopped
env_file:
- ./.env
environment:
POSTGRES_USER: ${DB_USER:-postgres}
POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
POSTGRES_DB: ${DB_NAME:-claude_code_hub}
PGDATA: /data/pgdata
TZ: Asia/Shanghai
PGTZ: Asia/Shanghai
volumes:
- ./data/postgres:/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-claude_code_hub}"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
networks:
- 1panel-network
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- ./data/redis:/data
command: redis-server --appendonly yes
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
start_period: 5s
networks:
- 1panel-network
app:
container_name: ${CONTAINER_NAME}
image: ghcr.io/ding113/claude-code-hub:v0.7.4
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
env_file:
- ./.env
environment:
NODE_ENV: production
DSN: postgresql://${DB_USER:-postgres}:${DB_PASSWORD:-postgres}@postgres:5432/${DB_NAME:-claude_code_hub}
REDIS_URL: redis://redis:6379
AUTO_MIGRATE: ${AUTO_MIGRATE:-true}
ENABLE_RATE_LIMIT: ${ENABLE_RATE_LIMIT:-true}
ENABLE_SECURE_COOKIES: ${ENABLE_SECURE_COOKIES:-false}
SESSION_TTL: ${SESSION_TTL:-300}
DB_POOL_IDLE_TIMEOUT: ${DB_POOL_IDLE_TIMEOUT:-20}
DB_POOL_CONNECT_TIMEOUT: ${DB_POOL_CONNECT_TIMEOUT:-10}
MAX_RETRY_ATTEMPTS_DEFAULT: ${MAX_RETRY_ATTEMPTS_DEFAULT:-2}
LANGFUSE_SAMPLE_RATE: ${LANGFUSE_SAMPLE_RATE:-1.0}
TZ: Asia/Shanghai
ports:
- "${PANEL_APP_PORT_HTTP}:3000"
restart: unless-stopped
healthcheck:
test:
[
"CMD",
"node",
"-e",
"fetch('http://' + (process.env.HOSTNAME || '127.0.0.1') + ':3000/api/actions/health').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))",
]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
networks:
- 1panel-network
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true