创建一个自己的统计服务
以下是搭建过程

2023.05.11 更新 Umami v2.2.0流程
以下为过程

查看Dockers状态

sudo systemctl status docker

设置Docker开机自启

sudo systemctl enable docker

安装Dockers-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

更改权限

chmod +x /usr/local/bin/docker-compose

创建链接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

检查状态及版本

docker-compose --version

创建程序目录

mkdir umami

进入umami目录并创建sql目录

cd umami
mkdir sql

获取sql初始化文件(注意区分mysql和postgresql版本)

wget https://github.com/umami-software/umami/blob/master/db/postgresql/migrations/01_init/migration.sql

更改文件名

mv migration.sql schema.postgresql.sql

在umami目录下创建docker-compose.yml 配置文件

wget https://github.com/umami-software/umami/blob/master/docker-compose.yml

可自行更改APP_SECRET: POSTGRES_DB: POSTGRES_USER: POSTGRES_PASSWORD

启动服务

docker-compose up -d

提示端口占用怎么办?
可以修改左侧3000端口为其它未使用的端口即可 右侧的3000不要改动
端口映射关系 服务器端口:Docker容器内端口

宝塔添加域名

umami.199188.xyz

设置SSL

修改网站配置文件 注释及添加以下内容
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log off;
# access_log /dev/null;
# }

# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log off;
# access_log /dev/null;
# }
location / {
proxy_pass http://127.0.0.1:3000/;
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;

上面如果修改了端口 也将这里的端口修改一致

搭建完毕

访问 https://umami.199188.xyz/ 即可看到登录界面
默认用户名admin 默认密码 umami

然后自行添加网站统计代码 搞定

参考

https://github.com/umami-software/umami
https://umami.is/docs/environment-variables
https://umami.is/docs/install
https://davquar.it/post/self-hosting/umami-docker/
https://www.xiaoz.me/archives/17369
https://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode
https://stackoverflow.com/questions/68903752/docker-error-host-network-mode-is-incompatible-with-port-bindings