Fathom 隐私优先分析工具部署教程
Fathom 是一款以隐私为核心设计理念的网站分析工具。Fathom Lite 是其开源版本,使用 Go 语言编写,体积小巧,性能出众。它不追踪个人信息,不使用 Cookie,提供简洁清晰的统计数据。Fathom Lite 使用 SQLite 数据库,单个二进制文件即可运行,非常适合在搬瓦工 VPS 上部署。
一、Docker 部署
确保已安装 Docker 和 Docker Compose。
1.1 创建配置目录
mkdir -p /opt/fathom && cd /opt/fathom
1.2 创建环境变量文件
cat > .env << 'EOF'
FATHOM_SERVER_ADDR=0.0.0.0:8082
FATHOM_DATABASE_DRIVER=sqlite3
FATHOM_DATABASE_NAME=/data/fathom.db
FATHOM_SECRET=你的随机密钥字符串至少32个字符
EOF
1.3 Docker Compose 配置
version: '3.8'
services:
fathom:
image: usefathom/fathom:latest
restart: always
ports:
- "8082:8082"
env_file:
- .env
volumes:
- fathom_data:/data
volumes:
fathom_data:
docker compose up -d
1.4 创建管理员账号
docker compose exec fathom /app/fathom user add \
--email admin@example.com \
--password 你的强密码
二、手动安装
# 下载 Fathom Lite 二进制文件
cd /tmp
wget https://github.com/usefathom/fathom/releases/download/v1.3.1/fathom_1.3.1_linux_amd64.tar.gz
tar -xzf fathom_1.3.1_linux_amd64.tar.gz
mv fathom /usr/local/bin/
chmod +x /usr/local/bin/fathom
# 创建数据目录
mkdir -p /opt/fathom
cd /opt/fathom
# 配置环境变量
cat > .env << 'EOF'
FATHOM_SERVER_ADDR=127.0.0.1:8082
FATHOM_DATABASE_DRIVER=sqlite3
FATHOM_DATABASE_NAME=/opt/fathom/fathom.db
FATHOM_SECRET=你的随机密钥
EOF
# 创建管理员
fathom user add --email admin@example.com --password 你的密码
2.1 创建 Systemd 服务
cat > /etc/systemd/system/fathom.service << 'EOF'
[Unit]
Description=Fathom Lite Analytics
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/fathom
EnvironmentFile=/opt/fathom/.env
ExecStart=/usr/local/bin/fathom server
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
chown -R www-data:www-data /opt/fathom
systemctl daemon-reload
systemctl enable fathom
systemctl start fathom
三、Nginx 反向代理
server {
listen 80;
listen 443 ssl http2;
server_name fathom.example.com;
ssl_certificate /etc/letsencrypt/live/fathom.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/fathom.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
nginx -t && systemctl reload nginx
四、添加追踪代码
登录 Fathom 后台,在"Sites"中添加网站,获取追踪代码:
<!-- Fathom - simple website analytics -->
<script>
(function(f, a, t, h, o, m){
a[h]=a[h]||function(){
(a[h].q=a[h].q||[]).push(arguments)
};
o=f.createElement('script'),
m=f.getElementsByTagName('script')[0];
o.async=1; o.src=t; o.id='fathom-script';
m.parentNode.insertBefore(o,m)
})(document, window, 'https://fathom.example.com/tracker.js', 'fathom');
fathom('set', 'siteId', 'XXXXX');
fathom('trackPageview');
</script>
<!-- End Fathom -->
五、自定义目标追踪
// 追踪按钮点击等自定义事件
document.getElementById('buy-button').addEventListener('click', function() {
fathom('trackGoal', 'GOAL_ID', 0);
});
六、数据管理
6.1 数据备份
# SQLite 数据库备份
cp /opt/fathom/fathom.db /root/backups/fathom_$(date +%Y%m%d).db
# Docker 方式
docker cp fathom-fathom-1:/data/fathom.db /root/backups/fathom_$(date +%Y%m%d).db
6.2 数据清理
# 通过 SQLite 清理旧数据
sqlite3 /opt/fathom/fathom.db "DELETE FROM page_views WHERE timestamp < datetime('now', '-365 days');"
sqlite3 /opt/fathom/fathom.db "VACUUM;"
七、Fathom Lite vs Fathom(商业版)
- Fathom Lite:开源免费,基础统计功能,自托管,需要自己维护。
- Fathom(商业版):付费 SaaS 服务,功能更丰富,无需运维,提供 CDN 加速。
对于个人网站和小型项目,Fathom Lite 完全够用,且在搬瓦工 VPS 上运行资源消耗极低。
总结
Fathom Lite 是极简主义的网站分析工具,关注隐私保护和数据清晰度。在搬瓦工 VPS 上部署仅需极少的资源,非常适合个人博客和小型网站。如果需要更多分析功能,可以考虑 Matomo;如果追求极致轻量,可以选择 GoatCounter。选购搬瓦工 VPS 请查看 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。