Files
2026-10-20 01:10:02 +08:00

2.2 KiB
Raw Permalink Blame History

Hestia Docker 部署

本仓库承接原 Aster HTTP 宿主部署定义,不代表远端已迁移或正在运行本版本。普通 push/PR 只验证;.gitea/workflows/deploy.yml 仅 main 手动触发,先完整验证 SQLite、真实 PostgreSQL 和宿主流程,再构建 runtime 镜像并调用 scripts/deploy-ces-control.sh。

Dockerfile 的 source 阶段复制宿主工作区、固定 Aster 子模块和脚本;ci 阶段提供检查环境;build 构建 server 和 admin,runtime 继续安装 server 和兼容 cli,UID 10001,/data,健康检查 /health。管理 cli 只负责 bootstrap 和 metadata,不包含 Lyra 的语言执行命令。

兼容标识 保留原因
Compose 项目 endorphin-aster-vm、服务 aster/postgres 复用既有服务,不创建替代生产实例
镜像 endorphin-aster-vm: 沿用部署脚本接口,SHA 现指宿主提交
ASTER_RELEASE_SHA、ASTER_IMAGE、ASTER_PORT、ASTER_LISTEN、ASTER_STATE_DIR 保持配置兼容
/opt/endorphin-aster-vm release.env、releases、current 及回退记录
/etc/endorphin-aster-vm/production.env 原有生产配置与数据库凭据
/var/lib/endorphin-aster-vm/postgres 原有 PostgreSQL 数据,禁止删除
/var/lib/endorphin-aster-vm/host 原有 JSON 文件信息与导入标记
/var/lock/endorphin-aster-vm-deploy.lock 串行切换生产版本

生产 Compose 继续读取 docker-compose.ces-control.yml。默认 docker-compose.yml 和独立 docker-compose.postgres.yml 保留原命名卷、环境与端口接口;不因拆仓改变卷或 PostgreSQL major 版本。

部署只接受已构建镜像。健康、对象引导和释放检查成功后,按需只读导出旧 public.aster_metadata,并由 cli metadata import 仅创建缺失 JSON;不覆盖新文件,不写旧表,不删除原库。最后写 deployment.release,原子切换 current。失败时保留数据并尝试恢复上个健康应用版本;应用回退不等于数据库回退。

迁移仓库和移除 Aster CD 均不会执行以上部署命令,不停止现有容器,不改共享 Runner。具体文件信息协议见 host-information.md,验证边界见 validation.md。返回 运维。