iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
You can run Fathom Lite on a Linux VPS by installing the release binary, compiling it from source, or running its Docker image; storing its configuration and database persistently; placing NGINX and HTTPS in front of it; and registering a systemd service so it survives reboots. After the dashboard is available, create a site, add the tracking snippet to that site’s pages, and verify a real-time visit.
Fathom Lite is the MIT-licensed, self-hosted predecessor to the current hosted Fathom Analytics product. The project describes Lite as no longer receiving new features but still maintained for bug fixes; that status can change, so check the repository’s current README and release notes before deploying.
Free tools Windows power users keep installed
One-click scans. No signup required.
What you are actually self-hosting
Fathom Lite is an earlier open-source version of Fathom Analytics. Hosted Fathom is managed for you; with Lite, you operate the VPS, operating system, database, updates, backups, monitoring and security. The Lite code is released under the MIT license.
The distinction matters when planning a deployment. A working web page is only one part of the system: the application needs a writable working directory, a persistent database, a secret, an administrator account and a process manager. Visitors then send tracking requests to the public HTTPS address, while NGINX forwards those requests to the local Fathom process.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
The installation guide used for many examples is dated 2019-03-14. Paths and command-line options may have changed in newer releases, so compare each command with the current project documentation before using it in production.
Choose a deployment method
| Method | Documented path | Best fit | Important operational point |
|---|---|---|---|
| Release binary | Download the platform release, extract it into /usr/local/bin, make it executable, then run fathom --version. |
A conventional VPS installation with direct host control. | You manage the binary, service account, working directory and upgrades on the host. |
| Build from source | Install Go and NPM, clone the repository, run make build, configure it, create a user and start ./fathom server. |
Operators who need a source build or want to inspect and modify the code. | Build tooling and dependency versions become part of your maintenance workload. |
| Docker | Build with docker build -t fathom ., or run the published image with docker run -d -p 8080:8080 usefathom/fathom:latest. |
Hosts already using container workflows. | Mount persistent storage for the database and configuration; do not treat the latest tag as immutable. |
For a first VPS deployment, the release binary is usually the simplest to troubleshoot because systemd, files and logs are visible directly on the host. Docker is a sound packaging choice when you already have a repeatable image, volume and update process. A source build is most useful when the release artifact does not support your platform or you require source-level control.
Recommended Free Tools
Prepare the VPS
Set the basic requirements
- A current Linux distribution with an administrative account capable of installing packages and creating services.
- A DNS name such as
analytics.example.compointing to the VPS address. Use an A record for IPv4 and an AAAA record only when IPv6 is correctly configured. - Enough disk space for the application, logs and the database. SQLite is convenient for a single instance, but its file must remain on persistent storage.
- SSH access for initial installation and emergency recovery.
Create a dedicated, non-root service account (for example, fathom) and a directory such as /var/lib/fathom. Give that account ownership of the working directory and database. Running the web process as root is unnecessary and increases the impact of an application compromise.
Limit network exposure
Use the VPS firewall to allow SSH and the public web ports (HTTP 80 and HTTPS 443). Do not expose Fathom’s internal listener directly to the internet when NGINX is the public entry point. Binding Fathom to localhost means only the reverse proxy can reach it.
Install Fathom Lite with the release binary
- Download the release archive matching the VPS CPU architecture and operating system from the project’s current release page. Do not assume an old archive or an x86-64 build works on an ARM VPS.
- Extract the executable into
/usr/local/binand make it executable. Confirm the binary is on the path withfathom --version - Create and enter the persistent working directory, for example
/var/lib/fathom. The production guide places the application configuration in a file named.envin this working directory. - Start a foreground test from that directory with
fathom serverStop it after confirming that it starts without configuration or permission errors; systemd will run it permanently later.
The documented example uses SQLite. Adapt the values to your installation and generate a long, random secret rather than copying an example value.
FATHOM_SERVER_ADDR="127.0.0.1:9000"
FATHOM_GZIP="true"
FATHOM_DEBUG="false"
FATHOM_DATABASE_DRIVER="sqlite3"
FATHOM_DATABASE_NAME="fathom.db"
FATHOM_SECRET="replace-with-a-long-random-secret"
The database name is relative to the working directory in this arrangement, so the resulting fathom.db must be included in your backup plan. The project documents MySQL and PostgreSQL configuration separately; use an external database when your availability, concurrency or backup requirements justify the additional service.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
Build from source instead
The repository lists Go and NPM as prerequisites. A typical source workflow is:
- Install versions of Go and NPM supported by the current repository.
- Clone the repository into a build directory.
- Run
make build - Review the generated configuration and place the resulting executable and persistent files in the same locations used by a binary installation.
- Create the required initial user before starting the server.
- Launch it for a foreground test with
./fathom server
Because build dependencies and scripts can evolve, use the repository’s current instructions rather than assuming that the 2019 command sequence remains unchanged. Keep a record of the commit or release used for production so that you can reproduce the binary during recovery.
Run Fathom in Docker
Use a local build
docker build -t fathom .
Build from a checked-out source tree when you want a controlled image. Tag the image with a version or commit identifier in your own registry instead of relying solely on a mutable tag.
Run the published image
docker run -d --name fathom
-p 127.0.0.1:8080:8080
-v /var/lib/fathom:/var/lib/fathom
usefathom/fathom:latest
The published documentation shows the shorter docker run -d -p 8080:8080 usefathom/fathom:latest form. Binding the port to localhost is safer when NGINX is on the same VPS. The volume example is an operational arrangement: choose a mount point that contains the database and any configuration the image expects, then verify the container’s documented paths for the release you selected.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Container replacement deletes a container’s writable layer. Keep the SQLite file or external database on a persistent volume, and inject the application secret through a protected environment file or secret mechanism rather than baking it into an image. Review image age, tags and release notes before every production update; latest is not a promise of immutability.
Initialize the administrator and configuration
Fathom requires an initial administrator account. The source-build instructions explicitly include user creation; the exact command or first-run screen can vary by release, so follow the current README for that step. Use a unique, long password and store it in your password manager. Do not reuse the VPS, database or email password.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Keep .env, database files and Docker environment files outside any directory NGINX serves as static content. Restrict their permissions to the service account and administrators. If you change the secret after data exists, confirm the release’s behavior first; changing secrets can invalidate sessions or signed data.
Put NGINX in front of Fathom
NGINX supplies the public domain, forwards requests to Fathom’s localhost listener and preserves the client and host information needed by the application. Create a server block for your DNS name. The production guide’s example forwards these headers to a local listener on port 9000:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteserver {
listen 80;
server_name analytics.example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:9000;
}
}
If you selected Docker with localhost port 8080, change the upstream to http://127.0.0.1:8080. Keep the Fathom bind address and NGINX upstream consistent; a mismatch produces a gateway error even when the application itself is healthy.
Validate and reload NGINX:
sudo nginx -t
sudo systemctl reload nginx
At this stage, an HTTP request to the domain should reach Fathom. Do not expose the internal port separately in the VPS firewall or a cloud security group.
Enable HTTPS with Certbot
After DNS resolves and the HTTP server block responds, install Certbot and its NGINX integration using your distribution’s supported packages. Request the certificate with:
sudo certbot --nginx -d analytics.example.com
Certbot can edit the NGINX configuration and arrange renewal. Test renewal with the dry-run option supported by your installed Certbot version, and verify that the HTTPS virtual host redirects or rejects unintended plaintext access. Keep port 80 reachable when the chosen ACME challenge requires it.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Use the HTTPS URL for both dashboard access and tracking. Mixed-content restrictions, incorrect proxy headers or a certificate that does not cover the exact hostname can make the script appear installed while browsers silently block requests.
Make the service survive reboots
Create a systemd unit that runs under the dedicated account, uses the persistent working directory and restarts after a crash. Adapt paths and the internal address to your installation:
[Unit]
Description=Fathom Lite analytics
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=fathom
Group=fathom
WorkingDirectory=/var/lib/fathom
ExecStart=/usr/local/bin/fathom server
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Save it as /etc/systemd/system/fathom.service, then run:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →sudo systemctl daemon-reload
sudo systemctl enable fathom
sudo systemctl start fathom
sudo systemctl status fathom
The documented unit uses Restart=always, a working directory and ExecStart=/usr/local/bin/fathom server. The non-root user and group shown above are hardening choices; ensure the account can read the executable, read .env and write the database directory.
For diagnostics, inspect recent service logs with journalctl -u fathom. Test both a service restart and a full VPS reboot before declaring the deployment complete. A service that starts manually but fails under systemd usually has a path, permission, environment or working-directory problem.
Create a site and install tracking
- Sign in to the Fathom dashboard over HTTPS.
- Create a site entry using the hostname you intend to measure.
- Copy the tracking snippet generated for that site.
- Place the script in the tracked website’s header, following the site’s deployment method. The support documentation specifies the site header.
- Publish the page and open it in a normal browser session.
- Return to the dashboard and check the real-time visitor count.
No analytics data appears merely because the dashboard is running. The site must exist in the dashboard and the snippet must be present on pages receiving visits. Test with browser developer tools: confirm the script loads from your Fathom hostname, the request uses HTTPS and no content-security-policy or ad-blocking error prevents it.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Content-security policy
If the website sends a Content-Security-Policy header, allow the Fathom instance host in the directives required by the project. The README specifically calls out script-src and img-src. Add only the exact HTTPS origin you operate, then retest the page and the real-time dashboard.
Troubleshoot the common failure points
502 Bad Gateway from NGINX
- Check
systemctl status fathomandjournalctl -u fathom. - Confirm Fathom is listening on the address and port used in
proxy_pass. - For Docker, run
docker psand inspect container logs; verify that the port is published on localhost. - Check that the service account can read its environment file and write the database directory.
Dashboard loads but no visits appear
- Confirm the snippet is on the published page, not only in a local template.
- Check that its hostname matches the site created in the dashboard.
- Look for CSP violations, blocked mixed content, JavaScript errors or browser extensions blocking the request.
- Open the page from a separate network and watch the dashboard’s real-time count.
Data disappears after a container update
The database was probably stored in the container’s writable layer or an unmounted path. Stop the container, identify the release’s database location, mount a persistent volume there, and restore a known-good database backup before starting the replacement.
HTTPS issuance fails
Verify that DNS points to this VPS, port 80 is reachable for the selected challenge, NGINX answers the requested hostname and no other virtual host captures it. Resolve the HTTP configuration first, then rerun Certbot.
The service fails after reboot
Check the unit’s WorkingDirectory, executable path, user ownership and environment loading. Ensure the database volume is mounted before the service starts, particularly with Docker. A manual foreground launch as the service account can reveal permission errors that are hidden in a short systemd status summary.
Backups, updates and ongoing operations
Self-hosting transfers operational responsibility to you. Back up the SQLite database (or the external database using its native backup tools), the application configuration and the secret needed to restore the installation. Store backups separately from the VPS and perform restore tests; an untested copy is not a recovery plan.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Monitor disk usage, systemd status, NGINX errors, certificate renewal and database growth. Review Fathom Lite releases and the repository’s bug-fix maintenance status before upgrading. For Docker, pin a reviewed image tag or digest, export the current configuration, back up the database, then replace the container and verify tracking before removing the previous image.
The published guide does not prescribe a backup interval, retention policy or uptime target. Set those according to the value of your analytics and your recovery-time requirements rather than presenting a generic schedule as a Fathom requirement.
Self-hosted Lite or hosted Fathom?
| Consideration | Fathom Lite on your VPS | Hosted Fathom |
|---|---|---|
| Operations | You administer Linux, the process, database, backups, updates, TLS and monitoring. | The provider manages the service; you primarily install the tracking script and use the dashboard. |
| Control | You choose the server location, network policy and storage architecture. | You accept the provider’s hosting architecture and controls. |
| Cost model | VPS, storage, administration time, maintenance and recovery work are your costs; a low server price is not the total cost. | A subscription can cost more than a bare VPS but includes managed operational work. |
| Software status | Lite is described as a previous open-source version with bug-fix maintenance and no new features at the time of the project statement. | The current hosted product is the actively managed offering. |
Server geography and privacy obligations depend on your organization, visitors and jurisdiction. A vendor comparison article discusses GDPR considerations, but it is not a regulator ruling; obtain current legal advice for your circumstances. Choose self-hosting when you can own the maintenance and need infrastructure control. Choose the hosted service when reducing administration and availability work matters more than running the stack yourself.
Quick Recap
Production checklist
- Choose a release binary, source build or Docker image and record the exact version.
- Create a non-root service account and persistent application directory.
- Set a strong secret, administrator password and protected configuration file.
- Use SQLite only with deliberate file persistence, or configure MySQL/PostgreSQL when appropriate.
- Bind Fathom to localhost when NGINX is the public endpoint.
- Allow only SSH, HTTP and HTTPS through the firewall.
- Validate and reload NGINX, then issue and test HTTPS with Certbot.
- Enable the systemd service and test restart and reboot recovery.
- Create the dashboard site, install the header snippet and check a real-time visit.
- Back up configuration and data, monitor logs and certificates, review updates, and test restoration.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

