Docker 部署 Umami 避坑指南
奶狗 发表于 3 天前 浏览 1399 分类 日常
最近做了一个重要的架构决策:彻底弃用百度统计,转投自建开源方案 Umami。
做出这一改变主要基于两点考量:
- 体验与信任危机:百度统计依赖
unload事件,常引发浏览器报错与性能损耗;加之广告插件的广泛拦截,数据准确性大打折扣。 - 隐私合规趋势:为践行“隐私友好”原则,我不再希望将访客数据交由第三方处理。自建服务能确保所有流量数据完全掌握在自己手中。
然而,国内 Docker 环境的j巨变让部署并非一帆风顺。由于网络限制,常规镜像源频频失败。排查后发现,许多旧教程并未指向 Docker Hub 的标准镜像,导致拉取受阻。
经过反复调试。现将一份适配国内环境的 docker-compose.yml配置分享如下,希望能助你绕过深坑,快速落地。
配置教程
在需要放入umami信息的文件夹建立 docker-compose.yaml 文件,填写下面的内容:
version: '3'
services:
umami:
container_name: umami
image: umamisoftware/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: replace-me-with-a-random-string
depends_on:
- db
restart: always
db:
container_name: umami-db
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- ./umami-db-data:/var/lib/postgresql/data
restart: always
注意,umami的ports中,3000:3000 可以将前面的3000更换成其他闲置端口。 然后通过ssh访问服务器后,cd进这个文件夹,然后执行docker-compose up -d即可配置完成。
喜欢这篇内容吗?