Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
82 lines (77 loc) · 2.99 KB
/
Copy pathdocker-compose.yml
File metadata and controls
82 lines (77 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
version: "3.8"
services:
workbuddy2api:
# registry.cn-hangzhou.aliyuncs.com/jcleng/workbuddy2api
build: .
container_name: workbuddy2api
ports:
- "8787:8787"
volumes:
# 挂载宿主机的 CodeBuddy 登录凭据(macOS 示例,请按你的系统修改路径)
- ./auth:/data/auth:ro
environment:
# 如需鉴权,设置 API Key(客户端请求时需携带相同的 key)
- CODEBUDDY2OPENAI_KEY=
# 指定 auth 文件挂载路径(转换器会自动读取)
- CODEBUDDY_AUTH_DIR=/data/auth
# 出站 UA 报的客户端版本。容器里没有桌面端安装包可读,所以会自动退化到
# 内置兜底值;想让 UA 与实际客户端一致,就显式指定(见 .env.example)。
# - WORKBUDDY_DESKTOP_VERSION=5.5.6
# - WORKBUDDY_CLI_VERSION=2.137.1
command: >
python3 converter.py
--host 0.0.0.0
--port 8787
--skip-check
--desensitize
restart: unless-stopped
# 管理后台(多账号反代 + API Key 网关)。
# 连下面这套 compose 里的 mysql8 / redis 容器,用服务名做主机名。
# 库/表不用手工建:admin 启动时会自己 CREATE DATABASE + 建表,并对
# 连接失败重试 30 次(MySQL 起得慢也不会把进程带崩)。
admin:
build: .
container_name: workbuddy_admin
ports:
- "8790:8790"
volumes:
# 挂载本机安装目录用于逆向拆包
- /mnt/c/Users/jcleng/AppData/Local/Programs/WorkBuddy:/mnt/c/Users/jcleng/AppData/Local/Programs/WorkBuddy
depends_on:
- mysql8
- redis
environment:
- ADMIN_PORT=8790
# 容器内是 3306,3307 只是宿主机侧的映射端口,别写错。
- ADMIN_DATABASE_URL=mysql+pymysql://root:root@mysql8:3306/workbuddy_admin?charset=utf8mb4
- ADMIN_REDIS_URL=redis://redis:6379/0
- ADMIN_USERNAME=${ADMIN_USERNAME:-admin}
- ADMIN_PASSWORD=${ADMIN_PASSWORD:-123456}
# 出站 UA / 桌面事件指纹报的客户端版本。容器里读不到宿主机的安装包,
# 会自动退化到兜底值;要准确就显式指定(见 .env.example)。
# - WORKBUDDY_DESKTOP_VERSION=5.5.6
# - WORKBUDDY_CLI_VERSION=2.137.1
command: >
python3 -m uvicorn admin.server:app
--host 0.0.0.0
--port 8790
restart: unless-stopped
mysql8:
image: registry.cn-hangzhou.aliyuncs.com/jcleng/circleci-mysql:8-oracle-ram
# restart: on-failure
environment:
MYSQL_ROOT_PASSWORD: "root"
volumes:
- "./:/srv"
- "mysql_8:/var/lib/mysql/"
# - "./initdb:/docker-entrypoint-initdb.d"
# - "./mysql/conf.d:/etc/mysql/conf.d"
# 低版本docker加一个,实现volumes正常
# 必须挂:镜像自带的 /etc/mysql/my.cnf 换行写成了字面量 \n,mysqld 读它直接退出
- "./my.conf:/etc/mysql/my.cnf"
privileged: true
redis:
image: registry.cn-hangzhou.aliyuncs.com/jcleng/library-redis
privileged: true
volumes:
mysql_8: