1.安装须知
我安装采用Docker-compose安装,因此主机需要有docker以及docker-compose,另外,由于是使用镜像,因此umami的域名必须是根,也就是”/”,简单说就是访问umami的域名必须是”http(s)://域名:端口号/”,端口号后面无法加其他路径,比如想使用”https://域名/umami”是不可以的,因为后缀是需要在build过程中提供的,通过docker的环境变量想传进容器是不行的,因为在官方的Dockerfile里已经写死了。如果非要用的话有两种方法:1.自己修改Dockerfile,然后生成镜像。2.不适用Docker直接在本机用Node.js安装,由于必须使用数据库,因此更加麻烦。我建议的方案就是使用子域,在nginx中新建一个name近行单独配置,或者再买个便宜域名。
2.安装
安装可以参考官方文档:Docs: Installation – Umami
可惜没详细步骤。我是去GitHub中找docker-compose.yml文件自己修改的。
官方的docker-compose:umami/docker-compose.yml at master · umami-software/umami · GitHub
---
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-v2.11.2
ports:
- "53000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: replace-me-with-a-random-string
# depends_on:
# db:
# condition: service_healthy
restart: always
# healthcheck:
# test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
# interval: 5s
# timeout: 5s
# retries: 5
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- ./umami-db-data:/var/lib/postgresql/data
restart: always
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
# interval: 5s
# timeout: 5s
# retries: 5
#volumes:
# umami-db-data:
我修改的地方有:
1.umami的版本,官方默认标签是latest,我习惯写上版本号,以供未来升级使用,文件中的版本号实际就是当下最新版。
2.端口号进行了修改,53000是容器外端口,可根据需求修改。
3.注释掉的那些内容是docker自带的检测健康度用来控制安装顺序的,我都注释掉直接安装即可。
4.第28行,数据库官方是用的生成一个容器自己的卷,我是为了未来升级或者备份方便直接做的路径映射。
确认配置后安装即可。docker-compose up -d
安装完成后输入对应域名访问即可
- 默认账号:
admin
- 默认密码:
umami
3.配置nginx文件
server {
listen 443 ssl;
server_name umami.xxx.com;
#证书
ssl_certificate /root/.acme.sh/umami.xxx.com_ecc/umami.xxx.com.cer;
ssl_certificate_key /root/.acme.sh/umami.xxx.com_ecc/umami.xxx.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_pass http://127.0.0.1:53000/;
}
}
关于证书申请可以参考我另一篇文章:
参考文章: