An open API service indexing awesome lists of open source software.

https://github.com/leemysw/cc-image

Docker image for running Claude Code on NAS with Telegram/Discord channels, proxy support.
https://github.com/leemysw/cc-image

claude-code docker-image

Last synced: 26 days ago
JSON representation

Docker image for running Claude Code on NAS with Telegram/Discord channels, proxy support.

Awesome Lists containing this project

README

          

# NAS Claude Code

在 Synology NAS 上通过 Docker 部署 Claude Code,预装 Telegram / Discord 插件,实现通过聊天平台远程控制 Claude Code 进行开发。

## 特性

- Telegram / Discord 聊天频道接入
- SOCKS5 / HTTP / Shadowsocks 代理支持,可运行时热更新
- 支持第三方 API(智谱 BigModel 等)
- Crash 自动恢复
- Synology Container Manager 兼容

## 快速部署

### 1. 导入 docker-compose.yml

在 Synology Container Manager 中导入 `docker-compose.yml`,修改 `environment` 中的必填项:

```yaml
environment:
- ANTHROPIC_API_KEY=sk-ant-xxxxx # 必填
- TELEGRAM_BOT_TOKEN=123456:xxx # Telegram bot token
```

### 2. 启动容器

插件会在首次启动时自动安装,无需手动操作。

### 3. Pair 账号

在 Telegram / Discord 上向 bot 发送消息,按提示完成账号绑定。

## 环境变量

| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| `ANTHROPIC_API_KEY` | 是 | | API Key |
| `ENABLE_TELEGRAM` | 否 | `true` | 启用 Telegram |
| `TELEGRAM_BOT_TOKEN` | 否 | | Telegram Bot Token |
| `ENABLE_DISCORD` | 否 | `false` | 启用 Discord |
| `DISCORD_BOT_TOKEN` | 否 | | Discord Bot Token |
| `ENABLE_PROXY` | 否 | `false` | 启用代理 |
| `PROXY_URL` | 否 | | 代理地址(覆盖 proxy.conf) |
| `ANTHROPIC_BASE_URL` | 否 | | 自定义 API 端点 |
| `ANTHROPIC_AUTH_TOKEN` | 否 | | 自定义认证 Token |
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | 否 | | Sonnet 模型覆盖 |
| `ANTHROPIC_DEFAULT_OPUS_MODEL` | 否 | | Opus 模型覆盖 |
| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | 否 | | Haiku 模型覆盖 |
| `CLAUDE_DANGEROUSLY_SKIP_PERMISSIONS` | 否 | `false` | 跳过权限确认 |

## 代理

支持 `socks5://`、`http://`、`ss://` 格式。

### 通过环境变量(启动时)

```yaml
environment:
- ENABLE_PROXY=true
- PROXY_URL=socks5://127.0.0.1:1080
```

### 运行时热更新

通过 Telegram 发消息让 CC 修改:

1. CC 编辑 `/proxy.conf` 写入新代理地址
2. CC 执行 `/reload-proxy.sh` 立即生效

无需重启容器。

## 文件结构

```
├── Dockerfile # 镜像构建
├── docker-compose.yml # 部署配置
├── entrypoint.sh # 启动入口
├── scripts/
│ ├── proxy.conf # 代理配置(内置,可运行时修改)
│ └── reload-proxy.sh # 代理热更新脚本
├── .github/workflows/ # CI/CD
│ └── docker-publish.yml # Tag 触发自动构建推送
├── .env.example # 环境变量模板
├── .dockerignore
└── .gitignore
```

## 限制

Channels 功能目前处于研究预览阶段(Research Preview),有以下限制:

- 需要 Claude Code **v2.1.80** 或更高版本
- 必须使用 **claude.ai 账号登录**
- **不支持** Console 和 API Key 认证
- Team 和 Enterprise 组织需要**手动启用**该功能

## License

MIT