Fathom to lekki, open-source’owy system analityki WWW,
który szanuje prywatność użytkowników (brak cookies, zgodny z GDPR, PECR i CCPA).
Poniższy tutorial krok-po-kroku pokazuje, jak wdrożyć Fathom v1.4
na Debianie 11 – niezależnie od tego, czy korzystasz z
serwera VPS,
serwera dedykowanego
czy elastycznego VPS Linux
NetCloud24.
1 · Wymagania wstępne
- Debian 11 (Bullseye) 64-bit.
- Użytkownik z uprawnieniami
sudo
. - Domena, rekord A (np.
stats.example.com
) i port443
. - ~200 MB RAM – Fathom jest napisany w Go i używa bazy SQLite lub MySQL.
Na środowisko produkcyjne wystarczy plan 1 vCPU | 1 GB RAM
w VPS Linux NetCloud24. W razie rosnącego ruchu
zasoby można skalować w kilka kliknięć.
2 · Instalacja zależności (Nginx & Certbot)
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx python3-certbot-nginx unzip
Fathom będziemy uruchamiać jako binarkę (bez Dockera) z użytkownikiem systemowym.
3 · Pobranie i ustawienie Fathom
# Utwórz użytkownika bez powłoki
sudo useradd -r -s /usr/sbin/nologin fathom
# Pobierz najnowsze buildy (przykład dla v1.4.3)
cd /opt
sudo wget https://github.com/usefathom/fathom/releases/download/v1.4.3/fathom_1.4.3_linux_amd64.zip
sudo unzip fathom_1.4.3_linux_amd64.zip
sudo mv fathom /usr/local/bin/
sudo chown fathom:fathom /usr/local/bin/fathom
sudo chmod 750 /usr/local/bin/fathom
4 · Plik konfiguracyjny
sudo mkdir /etc/fathom
sudo nano /etc/fathom/config.env
FATHOM_SERVER_ADDR="127.0.0.1:9000"
FATHOM_DATABASE_DRIVER="sqlite3"
FATHOM_DATABASE_NAME="/var/lib/fathom/fathom.db"
FATHOM_GZIP=true
FATHOM_DEBUG=false
FATHOM_SECRET="$(openssl rand -hex 32)"
sudo mkdir -p /var/lib/fathom
sudo chown -R fathom:fathom /var/lib/fathom
5 · Usługa systemd
sudo nano /etc/systemd/system/fathom.service
[Unit]
Description=Fathom Analytics
After=network.target
[Service]
User=fathom
Group=fathom
EnvironmentFile=/etc/fathom/config.env
ExecStart=/usr/local/bin/fathom server --config=/etc/fathom/config.env
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fathom
sudo systemctl status fathom
6 · Reverse proxy Nginx + HTTPS
sudo nano /etc/nginx/sites-available/fathom
server {
listen 80;
server_name stats.example.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled
sudo nginx -t && sudo systemctl reload nginx
# certbot
sudo certbot --nginx -d stats.example.com --redirect \
--email admin@example.com --agree-tos --non-interactive
7 · Pierwsze logowanie i klucz śledzenia
Wejdź na https://stats.example.com
, utwórz konto admin
i skopiuj snippet JavaScript. Dodaj go w sekcji <head>
swoich stron.
8 · Automatyczna aktualizacja (opcjonalnie)
sudo crontab -u root -e
0 4 * * 0 /usr/local/bin/fathom upgrade --auto >/dev/null 2>&1
Fathom sprawdzi nowe wersje i podmieni binarkę bez przestoju.
9 · Backup bazy SQLite
sudo sqlite3 /var/lib/fathom/fathom.db ".backup '/backup/fathom-$(date +%F).db'"
Snapshotowe backupy na VPS Linux NetCloud24
zapewnią przywracanie całej maszyny P2V.
10 · Podsumowanie
Gratulacje! Masz własny, zgodny z GDPR system analityki bez cookies.
Łatwe skalowanie CPU i RAM w ofercie
VPS Linux,
serwerów VPS lub
serwerów dedykowanych
NetCloud24 pozwoli obsłużyć rosnący ruch bez utraconych metryk.
Potrzebujesz pomocy przy integracji Fathom z CI/CD, NGINX-Lua,
czy S3 backupem? Sprawdź moją ofertę na
bodziony.net.pl
.