Umami 3.0版本升级指南,平滑迁移,无需数据库命令
🔎 如果全新安装,请跳转至不依靠 1Panel 安装 Umami。
前言
官方升级教程如下 点击此处
本机环境如下,使用1panel v2.0面板,debian12,mysql升级到PostgreSQL
⚠️ 注意: 请提前做好数据库备份。
安装旧版V2.19的PostgreSQL版本的umami
首先安装v2.19的PostgreSQL版本的umami,正常安装即可,只需成功启动就可以将容器停止,1panel中如下图
转移数据库操作
打开数据库软件,如DBeaver ,Navicat等,本文使用的是DBeaver,第一个为mysql的umami,第二个为PostgreSQL的umami,
官方升级指南中提到
Truncate the tables below. These tables will be populated from the MySQL import.truncate table "_prisma_migrations";
truncate table "user"
此意为
- 删除表中的所有行(所有数据)
- 保留表结构(列定义、索引、约束等)
- 类似于 DELETE FROM table_name,但更快且不可回滚
- 会重置表的自增序列(如果有)
在表映射选项中,目标容器为PostgreSQL的umami
在数据加载设置中会弹出是否截断数据,选择是即可,然后一路向下在确认选项中选择继续,等待数据库复制完毕,数据较大的话复制时间较长,请耐心等待
升级v3.0的umami
卸载v2旧版本umami
此处推荐读者卸载v2版本的umami,请注意,在1panel面板中,卸载应用默认选择删除数据库,请取消勾选
安装v3新版本umami
安装时选择3.0版本及以上即可,数据库服务默认只有PostgreSQL,数据库名和数据库用户和用户密码安装v2.19的PostgreSQL版本的umami安装时所写即可,至此全部结束

不依靠1panel安装umami
创建一个docker-compose.yml,创建并填入以下内容后输入docker compose up -d或docker-compose up -d
services:
# umami 服务配置
umami:
# 使用的镜像:从 Docker Hub 拉取 umamisoftware/umami 的最新版本
image: umamisoftware/umami:latest
# 容器运行后的名称
container_name: umami
# 重启策略:除非手动停止,否则容器退出时自动重启
restart: unless-stopped
# 端口映射:将宿主机的 127.0.0.1:3011 映射到容器的 3000 端口
# 127.0.0.1 限制仅本机可访问,避免直接暴露服务到公网
ports:
- 127.0.0.1:3011:3000
# 环境变量配置
environment:
# 数据库连接 URL,格式:postgresql://用户名:密码@主机:端口/数据库名
# 请替换 username、password 为实际值,127.0.0.1:5432 为宿主机 PostgreSQL 地址
DATABASE_URL: postgresql://username:password@127.0.0.1:5432/umami
# 数据库类型,固定为 postgresql
DATABASE_TYPE: postgresql
# APP_SECRET 在此版本实际不起作用,仅为占位
# APP_SECRET: umami_h6p5Nr
# 健康检查配置:定期检测服务是否存活
healthcheck:
# 检测命令:通过 curl 请求容器内的心跳接口
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
# 每 5 秒检测一次
interval: 5s
# 单次检测超时时间 5 秒
timeout: 5s
# 连续失败 5 次后标记为不健康
retries: 5
# 以下是加入 1Panel 已存在网络的方法,一般无需使用
# 如果 umami 需要与 1Panel 管理的其他容器通信,可取消注释并配置
#networks:
# - 1panel-network # 加入 1panel 创建的外部网络
# 声明网络(如使用上述 networks 配置则需要取消注释)
#networks:
#1panel-network:
#external: true # 使用已存在的外部网络,不由当前 compose 创建
总结
umami3.0带来了许多改进和新特性,特别是解决安全问题,旧mysql版只需安照上述更新流程即可,常见问题询问ai即可解决,只要做好备份,一般而言不会有大问题。







