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 port 443.
  • ~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
.

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *