Fathom Lite. Simple, privacy-focused website analytics. Built with Golang & Preact. https://usefathom.com/
Go to file
Danny van Kooten b75506ce8f simplify tracker to not depend on modules, we want this file as small as possible anyway. prevents #124 2018-09-14 10:25:21 +02:00
assets/src simplify tracker to not depend on modules, we want this file as small as possible anyway. prevents #124 2018-09-14 10:25:21 +02:00
cmd/fathom set WriteTimeout and ReadTimeout on http.Server 2018-08-05 12:14:34 +02:00
pkg assume dashboard is public when there are no users in connected datastore. #117 2018-09-12 09:36:59 +02:00
vendor add built-in support for letsencrypt using autocert. closes #18 2018-07-31 15:05:34 +02:00
.env.example don't parse database driver from URL to also support mysql and sqlite. 2018-07-31 15:29:15 +02:00
.gitignore fix postgres errors by converting to null in divisions. closes #54 relates to #52 2018-06-08 15:39:38 +02:00
CODE_OF_CONDUCT.md add code of conduct 2018-06-06 10:18:53 +02:00
Dockerfile build npm assets in intermedia docker container so we can auto-build from git push. relates to #49 #51 2018-06-08 14:14:52 +02:00
LICENSE MIT license it is. Add readme instructions for getting a dev version running 2016-12-11 10:05:29 +01:00
Makefile client-side assets do not need to be built inside docker container. closes #51 2018-06-08 13:45:14 +02:00
README.md update readme with link to public roadmap 2018-09-12 10:39:43 +02:00
docker-compose.yml improve security and add persistence for MySQL 2018-06-16 11:46:22 +03:00
gulpfile.js fix watch task 2018-05-31 13:13:57 +02:00
package-lock.json add make dist task && separate assets build from binary build 2018-05-29 14:52:34 +02:00
package.json add basic tooltips in chart 2018-05-23 09:56:33 +02:00

README.md

Fathom - simple website analytics

Go Report Card MIT licensed

Fathom Analytics is a simpler and more privacy-focused alternative to Google Analytics.

Collecting information on the internet is important, but its broken. Weve become complacent in trading information for free access to web services, and then complaining when those web services do crappy things with that data.

The problem is this: if we arent paying for the product, we are the product.

Google Analytics may give you free access to their services but in turn, theyre assembling data profiles on your website visitors, which they can then use for better targeting of advertisements across their network.

We need to stop giving away our data and our users' privacy for free access to a tool.

Fathom respects the privacy of your users and does not collect any personally identifiable information. All while giving you the information you need about your site, so you can make smarter decisions about your design and content.

Screenshot of the Fathom dashboard

Installation

For getting a development version of Fathom up & running, go through the following steps.

  1. Ensure you have Golang installed properly
  2. Get code: git clone https://github.com/usefathom/fathom.git $GOPATH/src/github.com/usefathom/fathom
  3. Compile into binary & prepare assets: make build
  4. (Optional) Set your custom configuration values.
  5. Register your user account: fathom register --email=<email> --password=<password>
  6. Start the webserver: fathom server and then visit http://localhost:8080 to access your analytics dashboard.

To install and run Fathom in production, have a look at the installation instructions.

Docker

Building

Ensure you have Docker installed and run docker build -t fathom .. Run the container with docker run -d -p 8080:8080 fathom.

Running

To run our pre-built Docker image, run docker run -d -p 8080:8080 usefathom/fathom:latest

Tracking snippet

To start tracking, include the following JavaScript on your site and replace yourfathom.com with the URL to your Fathom instance.

<!-- Fathom - simple website analytics - https://github.com/usefathom/fathom -->
<script>
(function(f, a, t, h, o, m){
	a[h]=a[h]||function(){
		(a[h].q=a[h].q||[]).push(arguments)
	};
	o=f.createElement('script'),
	m=f.getElementsByTagName('script')[0];
	o.async=1; o.src=t; o.id='fathom-script';
	m.parentNode.insertBefore(o,m)
})(document, window, '//yourfathom.com/tracker.js', 'fathom');
fathom('trackPageview');
</script>
<!-- / Fathom -->

Content Security Policy

If you use a Content Security Policy (CSP) to specify security policies for your website, Fathom requires the following CSP directives (replace yourfathom.com with the URL to your Fathom instance):

script-src: yourfathom.com;
img-src: yourfathom.com;

Roadmap

Find our public roadmap here.

If you have an idea or suggestion for Fathom, submit it as an issue here on GitHub.

MIT licensed. Fathom and Fathom logo are trademarks of Fathom Analytics.