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),仅供参考

相关新闻

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

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

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

2026/11/8 17:34:54 阅读更多 →
PowerEdge R7515单路EPYC服务器:Debian 12.5与Mellanox 25G网卡部署全记录

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

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

2026/11/9 8:43:16 阅读更多 →
Unity高效加载GLB/GLTF模型的实战方案

Unity高效加载GLB/GLTF模型的实战方案

简介:本资源是一套专为Unity开发者提供的GLTF模型加载插件工具包,面向游戏开发、虚拟现实及Web3D应用工程师,解决Unity原生对GLTF格式支持有限、需手动集成第三方解析能力的问题。插件基于开源项目GLTFUtility深度整合,支持直接导…

2026/11/9 15:04:44 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻