Fathom container for website analytics, built with Ansible.
This project is composed of three main parts:
geerlingguy/fathom
Docker image in your project, you can pull it from Docker Hub.geerlingguy.fathom
on Ansible Galaxy. (This is the Ansible role that does the bulk of the work in managing the Fathom container.)Currently maintained versions include:
1.x.x
, latest
: Fathom's latest stable version.If you want to use the geerlingguy/fathom
image from Docker Hub, you don't need to install or use this project at all. You can quickly build a Fathom container locally with:
docker run -d --name=fathom -p 9000:9000 geerlingguy/fathom:latest
You can also wrap up that configuration in a Dockerfile
and/or a docker-compose.yml
file if you want to keep things simple. For example:
version: "3"
services:
fathom:
image: geerlingguy/fathom:latest
container_name: fathom
ports:
- "9000:9000"
restart: always
# See 'Fathom persistence' for instructions for volumes.
volumes: []
Then run:
docker-compose up -d
Now you should be able to access the Fathom interface at http://localhost:9000/
.
If you would like to preserve the Fathom database and configuration, mount a volume like -v ./fathom:/opt/fathom:rw,delegated
.
Or, if using a Docker Compose file:
services:
fathom:
...
volumes:
- ./fathom:/opt/fathom:rw,delegated
Before using this project to build and maintain Fathom images for Docker, you need to have the following installed:
First, install Ansible role requirements:
ansible-galaxy install -r requirements.yml
Then, make sure Docker is running, and run the playbook to build the container:
ansible-playbook main.yml
Once the image is built, you can run docker images
to see the fathom
image that was generated.
Note: If you get an error like
Failed to import docker
, runpip install docker
.
See the GitHub Actions workflow file in this repository for how it pushes all the tagged images automatically on any commit to the master
branch.
MIT / BSD
This container build was created in 2019 by Jeff Geerling, author of Ansible for DevOps.