chore(部署): 服务器的数据库和 Redis 改由 OJ2 自己起,不用再改 OJDeploy 下的 compose;附一次性搬家脚本
Deploy / deploy (push) Canceled after 0s
Deploy / deploy (push) Canceled after 0s
compose.debian.yml 去掉外接形态,postgres / redis 固定由本栈起(PostgreSQL 18、Redis 8)。 docker/move-db-into-oj2.sh 把服务器上旧栈的 16 / 7 倒进来:先编镜像、确认机房已断开、 备份、恢复时剥掉 dump 里的 md5 口令(18 只认 SCRAM)、核对行数和网络登录,最后交给 deploy.sh。 生产库口令原来是默认的 onlinejudge(超级用户、5445 对公网开着),脚本要求换成强口令才执行。 本机按线上「之前」的状态完整演练过:停机到恢复 36 秒,行数一致,登录态保住,提交照常判题。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fad43f513f
commit
625bd49801
7 files changed
+350
-239
No files matched your search
@@ -264,8 +264,10 @@ drizzle-kit 的坑,全在 `docs/database.md`。
|
||||
**机房那套没有 postgres,连的是服务器的库。** 两个站点共用一个数据库,但各有各的 Redis
|
||||
和判题沙箱 —— 所以涉及两边的变更要一起做。
|
||||
|
||||
`compose.debian.yml` 靠 env 切形态:设 `DATA_DIR` / `DB_HOST` / `REDIS_HOST` 就是接现有的库
|
||||
(线上就是这个),留空并加 `--profile local-data` 就是自带 postgres / redis。
|
||||
**服务器上的全部容器(含 postgres / redis)都由 `compose.debian.yml` 起**,升级哪个都只改
|
||||
仓库里的文件。以前库和 redis 归旧栈那份 `/root/OJDeploy/docker-compose.yml`、这边外接过去,
|
||||
那种形态已经删了(搬家脚本 `docker/move-db-into-oj2.sh`,一次性的)。库是 PostgreSQL 18,
|
||||
数据在 `$DATA_DIR/postgresql`;本机 dev 用同一个大版本,别单独换。
|
||||
|
||||
⚠️ **`DATA_DIR` 默认值 `../data` 是 `OJ2/data`,不是部署目录的 `data/`。** 沿用旧数据却忘了
|
||||
设它,会静默起一套空数据(空库、没测试点、图片 404),而且**不报错** —— 这是整个部署里
|
||||
|
||||
Reference in new issue
Block a user