{"id":198,"date":"2025-06-14T23:55:30","date_gmt":"2025-06-14T21:55:30","guid":{"rendered":"https:\/\/netcloud24.com\/pl\/blog\/?p=198"},"modified":"2025-06-14T23:55:42","modified_gmt":"2025-06-14T21:55:42","slug":"jak-zainstalowac-fathom-analytics-na-debianie-11-bullseye","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/pl\/blog\/jak-zainstalowac-fathom-analytics-na-debianie-11-bullseye\/","title":{"rendered":"Jak zainstalowa\u0107 Fathom Analytics na Debianie 11 (Bullseye)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><!-- SEO --><\/p>\n<p>&nbsp;<\/p>\n<article>\n<header>\n<h1><\/h1>\n<p class=\"byline\"><strong>Autor:<\/strong><br \/>\n<a title=\"\u0141ukasz Bodziony \u2013 us\u0142ugi DevOps\" href=\"https:\/\/bodziony.net.pl\/\" target=\"_blank\" rel=\"noopener\"><br \/>\n\u0141ukasz\u00a0Bodziony<br \/>\n<\/a><\/p>\n<p><strong>Fathom<\/strong> to lekki, open-source\u2019owy system analityki WWW,<br \/>\nkt\u00f3ry szanuje prywatno\u015b\u0107 u\u017cytkownik\u00f3w (brak cookies, zgodny z GDPR, PECR i CCPA).<br \/>\nPoni\u017cszy tutorial krok-po-kroku pokazuje, jak wdro\u017cy\u0107 Fathom v1.4<br \/>\nna Debianie 11 \u2013 niezale\u017cnie od tego, czy korzystasz z<br \/>\n<a title=\"serwer vps\" href=\"https:\/\/netcloud24.com\/serwery\/vps-linux\/\">serwera VPS<\/a>,<br \/>\n<a title=\"serwer dedykowany\" href=\"https:\/\/netcloud24.com\/serwery\/vps-linux\/\">serwera dedykowanego<\/a><br \/>\nczy elastycznego <a title=\"vps linux\" href=\"https:\/\/netcloud24.com\/serwery\/vps-linux\/\">VPS Linux<\/a><br \/>\nNetCloud24.<\/p>\n<\/header>\n<p><!-- 1. Wymagania --><\/p>\n<section id=\"wymagania\">\n<h2>1\u00a0\u00b7\u00a0Wymagania wst\u0119pne<\/h2>\n<ul>\n<li>Debian 11 (Bullseye) 64-bit.<\/li>\n<li>U\u017cytkownik z uprawnieniami <code>sudo<\/code>.<\/li>\n<li>Domena, rekord A (np. <code>stats.example.com<\/code>) i port <code>443<\/code>.<\/li>\n<li>~200\u00a0MB RAM \u2013 Fathom jest napisany w Go i u\u017cywa bazy SQLite lub MySQL.<\/li>\n<\/ul>\n<p>Na \u015brodowisko produkcyjne wystarczy plan 1 vCPU | 1 GB RAM<br \/>\nw <strong>VPS\u00a0Linux<\/strong> NetCloud24. W razie rosn\u0105cego ruchu<br \/>\nzasoby mo\u017cna skalowa\u0107 w kilka klikni\u0119\u0107.<\/p>\n<\/section>\n<p><!-- 2. Instalacja zale\u017cno\u015bci --><\/p>\n<section id=\"deps\">\n<h2>2\u00a0\u00b7\u00a0Instalacja zale\u017cno\u015bci (Nginx &amp; Certbot)<\/h2>\n<pre><code class=\"language-bash\">sudo apt update &amp;&amp; sudo apt upgrade -y\r\nsudo apt install -y nginx python3-certbot-nginx unzip<\/code><\/pre>\n<p>Fathom b\u0119dziemy uruchamia\u0107 jako binark\u0119 (bez Dockera) z u\u017cytkownikiem systemowym.<\/p>\n<\/section>\n<p><!-- 3. Pobranie Fathom --><\/p>\n<section id=\"download\">\n<h2>3\u00a0\u00b7\u00a0Pobranie i ustawienie Fathom<\/h2>\n<pre><code class=\"language-bash\"># Utw\u00f3rz u\u017cytkownika bez pow\u0142oki\r\nsudo useradd -r -s \/usr\/sbin\/nologin fathom\r\n\r\n# Pobierz najnowsze buildy (przyk\u0142ad dla v1.4.3)\r\ncd \/opt\r\nsudo wget https:\/\/github.com\/usefathom\/fathom\/releases\/download\/v1.4.3\/fathom_1.4.3_linux_amd64.zip\r\nsudo unzip fathom_1.4.3_linux_amd64.zip\r\nsudo mv fathom \/usr\/local\/bin\/\r\nsudo chown fathom:fathom \/usr\/local\/bin\/fathom\r\nsudo chmod 750 \/usr\/local\/bin\/fathom<\/code><\/pre>\n<\/section>\n<p><!-- 4. Konfiguracja --><\/p>\n<section id=\"config\">\n<h2>4\u00a0\u00b7\u00a0Plik konfiguracyjny<\/h2>\n<pre><code class=\"language-bash\">sudo mkdir \/etc\/fathom\r\nsudo nano \/etc\/fathom\/config.env<\/code><\/pre>\n<pre><code class=\"language-env\">FATHOM_SERVER_ADDR=\"127.0.0.1:9000\"\r\nFATHOM_DATABASE_DRIVER=\"sqlite3\"\r\nFATHOM_DATABASE_NAME=\"\/var\/lib\/fathom\/fathom.db\"\r\nFATHOM_GZIP=true\r\nFATHOM_DEBUG=false\r\nFATHOM_SECRET=\"$(openssl rand -hex 32)\"<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/lib\/fathom\r\nsudo chown -R fathom:fathom \/var\/lib\/fathom<\/code><\/pre>\n<\/section>\n<p><!-- 5. Us\u0142uga systemd --><\/p>\n<section id=\"systemd\">\n<h2>5\u00a0\u00b7\u00a0Us\u0142uga systemd<\/h2>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/fathom.service<\/code><\/pre>\n<pre><code class=\"language-ini\">[Unit]\r\nDescription=Fathom Analytics\r\nAfter=network.target\r\n\r\n[Service]\r\nUser=fathom\r\nGroup=fathom\r\nEnvironmentFile=\/etc\/fathom\/config.env\r\nExecStart=\/usr\/local\/bin\/fathom server --config=\/etc\/fathom\/config.env\r\nRestart=on-failure\r\nLimitNOFILE=65536\r\n\r\n[Install]\r\nWantedBy=multi-user.target<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\r\nsudo systemctl enable --now fathom\r\nsudo systemctl status fathom<\/code><\/pre>\n<\/section>\n<p><!-- 6. Reverse proxy Nginx --><\/p>\n<section id=\"nginx\">\n<h2>6\u00a0\u00b7\u00a0Reverse proxy Nginx + HTTPS<\/h2>\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/fathom<\/code><\/pre>\n<pre><code class=\"language-nginx\">server {\r\n    listen 80;\r\n    server_name stats.example.com;\r\n\r\n    location \/ {\r\n        proxy_pass http:\/\/127.0.0.1:9000;\r\n        proxy_set_header Host $host;\r\n        proxy_set_header X-Real-IP $remote_addr;\r\n        proxy_set_header X-Forwarded-Proto $scheme;\r\n    }\r\n}<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/fathom \/etc\/nginx\/sites-enabled\r\nsudo nginx -t &amp;&amp; sudo systemctl reload nginx\r\n\r\n# certbot\r\nsudo certbot --nginx -d stats.example.com --redirect \\\r\n  --email admin@example.com --agree-tos --non-interactive<\/code><\/pre>\n<\/section>\n<p><!-- 7. Dost\u0119p i klucz \u015bledzenia --><\/p>\n<section id=\"login\">\n<h2>7\u00a0\u00b7\u00a0Pierwsze logowanie i klucz \u015bledzenia<\/h2>\n<p>Wejd\u017a na <code>https:\/\/stats.example.com<\/code>, utw\u00f3rz konto admin<br \/>\ni skopiuj snippet JavaScript. Dodaj go w sekcji <code>&lt;head&gt;<\/code><br \/>\nswoich stron.<\/p>\n<\/section>\n<p><!-- 8. Automatyczna aktualizacja --><\/p>\n<section id=\"update\">\n<h2>8\u00a0\u00b7\u00a0Automatyczna aktualizacja (opcjonalnie)<\/h2>\n<pre><code class=\"language-bash\">sudo crontab -u root -e\r\n0 4 * * 0  \/usr\/local\/bin\/fathom upgrade --auto &gt;\/dev\/null 2&gt;&amp;1<\/code><\/pre>\n<p>Fathom sprawdzi nowe wersje i podmieni binark\u0119 bez przestoju.<\/p>\n<\/section>\n<p><!-- 9. Kopie zapasowe --><\/p>\n<section id=\"backup\">\n<h2>9\u00a0\u00b7\u00a0Backup bazy SQLite<\/h2>\n<pre><code class=\"language-bash\">sudo sqlite3 \/var\/lib\/fathom\/fathom.db \".backup '\/backup\/fathom-$(date +%F).db'\"<\/code><\/pre>\n<p>Snapshotowe backupy na <strong>VPS\u00a0Linux<\/strong> NetCloud24<br \/>\nzapewni\u0105 przywracanie ca\u0142ej maszyny P2V.<\/p>\n<\/section>\n<p><!-- 10. Podsumowanie --><\/p>\n<section id=\"summary\">\n<h2>10\u00a0\u00b7\u00a0Podsumowanie<\/h2>\n<p>Gratulacje! Masz w\u0142asny, zgodny z GDPR system analityki bez cookies.<br \/>\n\u0141atwe skalowanie CPU i RAM w ofercie<br \/>\n<a title=\"vps linux\" href=\"https:\/\/netcloud24.com\/serwery\/vps-linux\/\">VPS Linux<\/a>,<br \/>\n<a title=\"serwer vps\" href=\"https:\/\/netcloud24.com\/serwery\/vps-linux\/\">serwer\u00f3w VPS<\/a> lub<br \/>\n<a title=\"serwer dedykowany\" href=\"https:\/\/netcloud24.com\/serwery\/\">serwer\u00f3w dedykowanych<\/a><br \/>\nNetCloud24 pozwoli obs\u0142u\u017cy\u0107 rosn\u0105cy ruch bez utraconych metryk.<\/p>\n<p>Potrzebujesz pomocy przy integracji Fathom z CI\/CD, NGINX-Lua,<br \/>\nczy S3 backupem? Sprawd\u017a moj\u0105 ofert\u0119 na<br \/>\n<a title=\"\u0141ukasz Bodziony \u2013 us\u0142ugi DevOps\" href=\"https:\/\/bodziony.net.pl\/\" target=\"_blank\" rel=\"noopener\"><br \/>\nbodziony.net.pl<br \/>\n<\/a>.<\/p>\n<\/section>\n<\/article>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Autor: \u0141ukasz\u00a0Bodziony Fathom to lekki, open-source\u2019owy system analityki WWW, kt\u00f3ry szanuje prywatno\u015b\u0107 u\u017cytkownik\u00f3w (brak cookies, zgodny z GDPR, PECR i CCPA). Poni\u017cszy tutorial\u2026<\/p>\n","protected":false},"author":1,"featured_media":199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-198","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":1,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"predecessor-version":[{"id":200,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/198\/revisions\/200"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media\/199"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}