What is Fathom Analytics?
Fathom Analytics is a privacy-focused, lightweight web analytics platform designed to be a modern, GDPR-compliant alternative to Google Analytics. It tracks visits, page views, referrers, and more—without using cookies or collecting personal data. Fathom offers both a cloud-hosted service and a self-hosted version that you can run on your own infrastructure.
Installing Fathom on Ubuntu 24.04 allows you to take full control over your analytics data, improve page load times, and ensure compliance with global privacy regulations like GDPR, CCPA, and PECR.
Key Features of Fathom Analytics
- Simple, clean dashboard with real-time traffic insights
- No cookies or consent banners required for most jurisdictions
- Fast-loading tracking script optimized for performance and minimal impact
- Uptime and event tracking (via paid or extended features)
- Custom domains for script delivery and anti-tracking protection
- Script blocker bypass for more accurate metrics
- Dark mode support and responsive UI
Self-Hosted Fathom (Open Source Edition)
The self-hosted version of Fathom, known as Fathom Lite, is:
- Written in Go (Golang)
- Distributed as a single binary, making it easy to deploy
- Lightweight and suitable for low-resource VPS or cloud servers
- Backed by SQLite (or optionally PostgreSQL in extended forks)
Why Use Fathom on Ubuntu 24.04?
Ubuntu 24.04 is an excellent platform for running Fathom due to:
- Its long-term support and security updates through 2029
- Compatibility with modern versions of Go, systemd, TLS, and Nginx
- Ideal for VPS and cloud deployment (DigitalOcean, AWS, Shape.host, etc.)
- Easy integration with Docker for containerized hosting
- First-class support for Let’s Encrypt TLS certificates
Common Use Cases
- Website owners and developers who need privacy-first analytics
- Organizations with GDPR or data sovereignty requirements
- Users who want to own their data without third-party tracking
- Performance-sensitive web applications that need a fast, non-intrusive script
- Agencies or hosting providers offering white-labeled analytics
Advantages Over Traditional Analytics Tools
Feature | Fathom Analytics | Google Analytics |
---|---|---|
Privacy Focus | Yes (no cookies) | No (tracks personal data) |
Self-Hosting Option | Yes | No |
Performance Impact | Minimal (~1kb script) | Higher (~50kb+) |
GDPR/CCPA Compliance | Easy | Requires consent banner |
Real-Time Data | Yes | Delayed |
Ad Tracking and Demographics | No | Yes |
Simplicity | Very high | Complex dashboard |
System Requirements for Self-Hosting
Component | Recommended Specification |
---|---|
OS | Ubuntu 24.04 LTS (64-bit) |
CPU | 1 core (2+ for concurrent users) |
RAM | 512 MB or more |
Disk | ~50 MB for binary + database |
Database | SQLite (default) or PostgreSQL |
Web Server | Optional (can use Nginx or Caddy) |
HTTPS | Strongly recommended (Let’s Encrypt support) |
Security and Privacy Considerations
- No IP tracking or fingerprinting (by default)
- Fully anonymous by design
- Can be served under your own domain to avoid ad blockers
- Integrates with HTTPS and reverse proxies like Nginx
- Access can be secured via basic auth, VPN, or firewalls
Deployment Options
- Direct binary download for minimal installation
- Docker container for containerized environments
- Reverse proxy with Nginx or Caddy to serve the UI under a custom domain
- Host on Shape.host, DigitalOcean, AWS, Hetzner, or even on a Raspberry Pi for small sites
Fathom Analytics on Ubuntu 24.04 is a powerful, ethical, and privacy-conscious web analytics solution. Whether you’re a developer, website owner, or digital agency, Fathom offers an easy-to-use and lightweight alternative to bloated, invasive analytics platforms. Ubuntu 24.04’s reliability and long-term support make it an excellent foundation for running Fathom in production or personal environments.
By self-hosting Fathom, you gain full control over your data, ensure compliance with data protection laws, and deliver a faster, cleaner experience to your site’s visitors.
Step 1: Deploy a Clean Server on Shape.Host
Go to https://shape.host and log into your account.
Click Create, then select Instance.

Choose the server location closest to your audience.

Under OS, choose Ubuntu 24.04 (64-bit).
Pick a plan with at least 2 CPUs, 4 GB RAM, and 20 GB SSD (Fathom needs some memory to handle data).

Click Create Instance.

After the instance is ready, copy the IP address from the Resources tab — you’ll need it to connect via SSH.

Step 2: Connect to Your Server
If you’re using Linux or macOS:
ssh root@your_server_ip
On Windows, use a tool like PuTTY, enter your server’s IP, and log in as root
.
Step 3: Update the System and Install curl
apt update
apt install curl
This updates your server’s list of packages and installs curl
, a tool used to download data from the internet.

Step 4: Add the PostgreSQL Repository and Key
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql-key.gpg >/dev/null
Downloads and stores the official PostgreSQL GPG key, which ensures packages come from a trusted source.
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/postgresql-key.gpg arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Adds the PostgreSQL APT repository to your system so you can install the latest PostgreSQL.

Step 5: Install PostgreSQL Database
apt update
apt install postgresql postgresql-contrib
This installs PostgreSQL and its additional tools.


Step 6: Create a Database and User for Fathom
sudo -u postgres psql
This opens the PostgreSQL shell as the postgres
admin.
Now run these commands inside the PostgreSQL shell:
\password postgres
Set a password for the default postgres
user.
CREATE ROLE fathomuser WITH LOGIN ENCRYPTED PASSWORD 'type_strong_password_here';
Creates a new user fathomuser
with a secure password.
CREATE DATABASE fathomdb OWNER fathomuser;
Creates a new database named fathomdb
and gives ownership to fathomuser
.
\q
Exit the PostgreSQL shell.

Step 7: Create a Dedicated System User for Fathom
adduser --home /opt/fathom --disabled-password fathom
Creates a new system user called fathom
with a dedicated home directory. This keeps Fathom running separately from root.
chown -R fathom:fathom /opt/fathom
Gives the new user ownership of its home directory.

Step 8: Download and Install Fathom
wget https://github.com/usefathom/fathom/releases/download/v1.3.1/fathom_1.3.1_linux_amd64.tar.gz
Downloads the latest Fathom release from GitHub.
tar -C /usr/local/bin -xzf fathom_1.3.1_linux_amd64.tar.gz
Extracts and installs Fathom to your system’s binary path.
chmod +x /usr/local/bin/fathom
Makes the Fathom binary executable.

Step 9: Configure Fathom Environment
Switch to the new fathom
user:
su - fathom
Create the config directory and an environment file:
cd /opt/fathom
mkdir -p /opt/fathom/data
touch /opt/fathom/data/.env
nano /opt/fathom/data/.env

Paste the following content into the file (adjust the values to match your setup):
FATHOM_GZIP=true
FATHOM_DEBUG=true
FATHOM_DATABASE_DRIVER="postgres"
FATHOM_DATABASE_NAME="fathomdb"
FATHOM_DATABASE_USER="fathomuser"
FATHOM_DATABASE_PASSWORD="type_password_here"
FATHOM_DATABASE_HOST="127.0.0.1"
FATHOM_DATABASE_SSLMODE="disable"
FATHOM_SECRET="Yr7NvWq6sJDzLmFhQe92"
- Replace
type_password_here
with the PostgreSQL password. - Replace
FATHOM_SECRET
with a random 20-character alphanumeric string (you can generate it with a password generator).

Step 10: Test Run the Server
cd /opt/fathom/data
fathom server

You should now be able to visit:
http://your_server_ip:8080
and see the Fathom web interface. Press Ctrl+C
to stop the test run.

Step 11: Run Fathom as a Service
Switch back to the root user:
su root
Create a systemd service file:
nano /etc/systemd/system/fathom.service
Paste this content:
[Unit]
Description=Starts the Fathom server
Requires=network.target
After=network.target
[Service]
Type=simple
User=fathom
Restart=always
RestartSec=3
WorkingDirectory=/opt/fathom/data
ExecStart=/usr/local/bin/fathom server
[Install]
WantedBy=multi-user.target

Enable and start the service:
systemctl daemon-reload
systemctl enable fathom
systemctl start fathom
systemctl status fathom
Now Fathom will start automatically on boot.

Fathom is Up and Running!
Visit your server IP in the browser at port 8080
:
http://your_server_ip:8080
You should see the analytics dashboard — ready to track visits on your site.
Shape.Host gives you Linux SSD VPS:
- Fast SSD-powered servers
- Instant deployment with Ubuntu 24.04
- Affordable plans and full root access
Deploy your own private analytics platform today at https://shape.host