尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
codex-register 生产部署指南:Docker Compose、数据持久化与数据库备份一次讲清
codex-register 生产部署指南Docker Compose、数据持久化与数据库备份一次讲清【免费下载链接】codex-register项目地址: https://gitcode.com/gh_mirrors/co/codex-registercodex-register是一个管理 OpenAI 账号的 Web UI 系统支持多邮箱服务、并发批量注册、代理管理和账号管理。本文面向新手完整讲清三件事用 Docker Compose 一键部署 codex-register、通过卷挂载实现数据持久化、配置 SQLite/PostgreSQL 数据库备份让你的生产环境稳定、可恢复。一、部署前需要准备什么在开始之前确认你的服务器满足以下条件项目要求Docker已安装并可运行Docker Composev2 及以上端口默认15555可按需修改Python无需本地安装全部在容器内运行项目结构上部署相关的三个核心文件分别是docker-compose.yml —— 容器编排配置生产部署首选Dockerfile —— 镜像构建定义基于python:3.11-slimwebui.py —— Web UI 程序入口二、Docker Compose 一键部署步骤这是最简单、也最推荐的部署方式全程只需 3 条命令# 1. 克隆项目 git clone https://gitcode.com/gh_mirrors/co/codex-register cd codex-register # 2. 构建并后台启动 docker-compose up -d --build # 3. 查看容器日志确认启动成功 docker-compose logs -f看到日志中监听地址输出后访问http://服务器IP:15555即可进入登录页。⚠️第一步必做把 docker-compose.yml 中的WEBUI_ACCESS_PASSWORD: admin123改成你自己的强密码默认密码等于裸奔。一键改端口x-webui-port 锚点技巧很多人不知道的是docker-compose.yml 顶部有这样一行x-webui-port: webui-port 15555这个值通过 YAML 锚点webui-port/*webui-port同时绑定到三处宿主机端口映射docker-compose.yml容器内WEBUI_PORT环境变量docker-compose.yml健康检查访问地址docker-compose.yml也就是说改这一个数字就够不会出现端口映射改了、容器内端口没改导致健康检查一直失败的经典坑。常用运维命令速查docker-compose logs -f # 实时查看日志 docker-compose restart webui # 重启服务 docker-compose down # 停止并移除容器数据卷不受影响 docker-compose up -d --build # 更新代码后重新构建并启动docker-compose.yml中还配置了restart: unless-stopped服务器重启后容器会自动拉起无需额外配置。三、数据持久化为什么两个挂载卷缺一不可打开 docker-compose.yml你会看到这两行卷挂载volumes: - ./data:/app/data - ./logs:/app/logs这就是生产部署的核心。codex-register 的所有关键数据分布在这两个目录宿主机目录容器内目录存什么丢了会怎样./data/app/data数据库文件、账号数据、设置所有账号、Token、服务配置全丢./logs/app/logs运行日志排障时无据可查 原理一句话容器是易失的docker-compose down或重建镜像都会销毁容器文件系统而挂载的./data和./logs在宿主机上容器怎么折腾都不会丢。这也是官方 README 反复强调挂载data目录的原因。如果你不用 Compose、直接docker run等价写法是docker run -d \ -p 15555:15555 \ -e WEBUI_ACCESS_PASSWORD你的强密码 \ -v $(pwd)/data:/app/data \ -v $(pwd)/logs:/app/logs \ --name codex-register \ ghcr.io/yunxilyf/codex-register:latest生产环境建议换成命名卷或独立磁盘默认用相对路径./databind mount已经够用但如果数据量大更推荐volumes: app-data: app-logs: services: webui: volumes: - app-data:/app/data - app-logs:/app/logs volumes: app-data: app-logs:命名卷由 Docker 管理、IO 性能更好进一步讲究的话可以在volumes定义中用driver_opts把device指到独立磁盘或 SSD 分区。四、数据库SQLite 默认PostgreSQL 可选codex-register 基于 SQLAlchemy默认使用SQLite库文件在data/database.db会话管理逻辑见 src/database/session.py。什么时候该上 PostgreSQL单实例 中等数据量 →SQLite 完全够用零运维需要多节点访问、高并发写入、独立备份策略 → 换远程 PostgreSQL接入远程 PostgreSQL 的方法通过环境变量指定连接字符串即可APP_DATABASE_URL优先于数据库内的设置# 写入 docker-compose.yml 的 environment 中 APP_DATABASE_URL: postgresql://用户:密码主机:5432/库名实现细节程序启动时读取该变量并自动转换为 psycopg 驱动连接串src/database/session.py、src/config/settings.py。注意PostgreSQL 模式下程序跳过自动表结构迁移src/database/session.py 中migrate_tables仅对 SQLite 生效升级前建议先备份。五、数据库备份三层防线第 1 层内置一键备份最省心项目在「系统设置」页面提供了数据库管理功能对应后端接口 src/web/routes/settings.py备份调用POST /api/settings/database/backup自动把数据库文件复制为data/backups/database_backup_时间戳.db查看状态GET /api/settings/database返回库文件大小、账号数、任务数清理过期任务POST /api/settings/database/cleanup可删除 N 天前的已完成任务记录备份文件默认落在data/backups/目录——由于data已挂载到宿主机这份备份天然就有一份主机外的副本直接定期打包上对象存储/另一台机器即可。第 2 层SQLite 热备份命令推荐加入 crontab对 SQLite 最安全的备份方式是在线复制而不是直接cp直接复制可能拷到写入一半的库sqlite3 /path/to/data/database.db .backup /path/to/backup_$(date %F).db示例定时任务每天凌晨 3 点备份保留 14 天0 3 * * * sqlite3 /opt/codex-register/data/database.db .backup /opt/backup/codex_$(date \%F).db find /opt/backup -name codex_*.db -mtime 14 -delete第 3 层PostgreSQL 用户用 pg_dumppg_dump -h 主机 -U 用户 -F c codexdb codex_$(date \%F).dump恢复用pg_restore -d codexdb 备份文件.dump即可比复制整个数据目录可靠得多。备份验证定期做一次恢复演练备份的价值取决于能不能恢复。建议每月挑一份备份在测试环境执行恢复并登录确认账号数据完好这一步比任何备份策略本身都重要。六、生产环境安全清单部署完成后按这个清单过一遍已修改WEBUI_ACCESS_PASSWORD或APP_ACCESS_PASSWORD不再使用默认admin123已挂载./data:/app/data与./logs:/app/logs已配置数据库备份计划内置备份 定时任务双保险已为服务器配置防火墙仅放行必要端口对外访问建议在前面加一层反向代理如 Nginx并启用 HTTPS升级前已手动备份一次数据库七、常见部署问题排查现象原因解决方法端口访问不通x-webui-port三处不一致手动改端口时漏改统一改 docker-compose.yml 顶部的锚点值健康检查一直失败容器内WEBUI_PORT与实际监听不一致同上用锚点统一端口重启后数据丢失忘记挂载./data卷补上卷挂载旧数据无法找回所以备份升级后表结构报错PostgreSQL 不执行自动迁移升级前先备份必要时手动比对表结构忘记访问密码数据库里存的密码忘了启动时临时用APP_ACCESS_PASSWORD环境变量覆盖重新设置后移除写在最后回顾一下 codex-register 生产部署的三个关键点Docker Compose 部署改好密码和端口锚点docker-compose up -d一条命令上线数据持久化./data和./logs两个挂载卷是数据的命根子数据库备份内置一键备份 定时任务 定期恢复演练三层防线缺一不可。按这个指南走完你的 codex-register 就具备了生产级的可用性。祝你部署顺利【免费下载链接】codex-register项目地址: https://gitcode.com/gh_mirrors/co/codex-register创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

忘记Windows密码?免费BIOS级U盘工具重置SAM数据库

忘记Windows密码?免费BIOS级U盘工具重置SAM数据库

直接说结论:这不是黑客手段,也不是绕过系统漏洞,更不需要“重装大法”。我在去年底做了个免费的 BIOS 级启动工具,专门解决一个很常见但又很尴尬的场景:你明明有一台自己的电脑,但开机时死活想不起 Windows…

📅 2026/10/8 15:43:25
PowerEdge R7515单路EPYC服务器:Debian 12.5与Mellanox 25G网卡部署全记录

PowerEdge R7515单路EPYC服务器:Debian 12.5与Mellanox 25G网卡部署全记录

收到这台戴尔 PowerEdge R7515 的申请单时,我心里其实有一丝犹豫。那时候项目里既需要一台 1U 的通用计算节点,又要跑 25Gbps 级别的内网数据同步,手头还正好有几张 Mellanox 网卡要利用起来。R7515 这种单路 EPYC 机型,放在以前我…

📅 2026/10/8 15:43:25
COMSOL多孔吸声JCA模型仿真:参数设置与多层结构应用

COMSOL多孔吸声JCA模型仿真:参数设置与多层结构应用

多孔吸声仿真这块,大家在 COMSOL 里卡住的情况我见过不少。参数填了一大堆,算出来吸声系数一路飘红甚至超过 1,调来调去也不知道是模态问题、边界问题还是材料参数本身的问题。这篇内容就是专门聊 JCA 模型的——也就是 Johnson-Champoux-All…

📅 2026/10/8 15:38:24
MORE NEWS

更多资讯

📰

Windows下Claude Code从安装到避坑:环境配置与daemon问题全解

Windows下要把Claude Code真正跑起来,说难不难,说顺不顺。最近来问我的朋友,几乎都是卡在同一个大环节上:不是装不上,而是装上之后各种别扭——要么终端一开就报daemon错误,要么VS Code里点了插件半天没反应…

📰

AI辅助移动端崩溃排查:日志+源码上下文的实时定位实践

凌晨两点半,手机振动把我从梦里拽出来——线上版本崩溃率飙升,异常上报后台里躺着一大片日志,按时间戳一条条翻过去,前后跨度小十分钟,涉及网络层、缓存层、UI渲染,还有一段加密模块的报错。老项目没有异地…

📰

三个大学生用“饥饿城堡”撬动Steam首日200万:冷启动全复盘

我一直觉得Steam的“热门新品”榜是独立游戏圈最卧虎藏龙的地方,你永远不知道下一个被塞进愿望单的会是什么奇怪东西。上个月,榜单里突然冒出一款国内团队做的单机游戏,名字很直白,叫《饥饿城堡》,宣传片里一座长着巨口…

📰

自托管AI助手进内网前的5项必查清单:从离线依赖到回滚预案

1. 为什么"能跑起来"和"能进内网"是两码事 我见过太多团队在自托管 AI 助手的落地上栽跟头,而且栽的方式出奇地一致:在开发机上跑得飞起,一挪到内网环境就各种幺蛾子。有人觉得是模型的问题,有人怀疑是网络的…

📰

Roo Code调用本地模型卡顿?从Ollama到显存上下文的性能调优指南

说实话,最初接触 Roo Code 的时候我还挺乐观的——能用本地模型跑 AI 编程助手,数据不出本机,省去 API 费用,还不用担心服务商跑路。结果真正把 Ollama 拉起来、模型加载完、点下执行按钮的那一刻,我的表情就跟 Window…

📰

AI Agent工程落地指南:从七要素拆解到七个关键决策

最近这段时间,只要打开技术社区,满屏都是AI Agent——有人用它处理日常事务,有人在项目里用它串联多个业务流程,还有人在讨论用Agent做测试、做客服、做数据分析。但真正把AI Agent的工程实现做到能跑进生产、能排查问题、能持续迭…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬