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 进入官网购买。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。