如果全新安装请跳转至不依靠1panel安装umami
前言
官方升级教程如下 点击此处
本机环境如下,使用1panel【1】 v2.0面板【2】,debian12【3】,mysql【4】升级到PostgreSQL【5】
请提前做好数据库备份【6】
安装旧版V2.19的PostgreSQL版本的umami
首先安装V2.19【7】的PostgreSQL版本的umami【8】,正常安装即可,只需成功启动就可以将容器【9】停止,1panel中如下图

转移数据库操作
打开数据库软件,如DBeaver ,Navicat【10】等,本文使用的是DBeaver【11】,第一个为mysql的umami,第二个为PostgreSQL的umami,

DBeaver会自动Truncate(截断),所以无需关注官方升级指南中的内容
在表映射【13】选项中,目标容器【14】为PostgreSQL的umami

在数据加载设置【15】中会弹出是否截断数据【16】,选择是即可,然后一路向下在确认选项中选择继续,等待数据库复制完毕,数据较大的话复制时间较长,请耐心等待

升级v3.0的umami
卸载v2旧版本umami
此处推荐读者卸载v2版本的umami,请注意,在1panel面板中,卸载应用【17】默认选择删除数据库,请取消勾选

安装v3新版本umami
安装时选择3.0版本及以上即可,数据库服务【18】默认只有PostgreSQL,数据库名【19】和数据库用户【20】和用户密码【21】安装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即可解决,只要做好备份,一般而言不会有大问题。
*这是一则由 Google AdSense 自动推荐的广告,不代表本站立场
*这是一则由 Google AdSense 自动推荐的广告,不代表本站立场

Comments NOTHING