How to Self-Host Prisme with Docker Compose
This guides shows you how to setup your own Prisme Analytics server using Docker.
Prerequisites
- You have installed Docker and Docker Compose.
Step 1: Download Docker Compose file
Download the official docker-compose.yml
file maintained within
Prisme repository.
It is recommended to use our official Docker Compose file as it uses ClickHouse and Grafana versions that are tested to work with Prisme.
Step 2: Configure services
Our Docker Compose file comes with sane default but there is some options that
you must tweak. Lines preceded by an EDIT_ME: ...
comment must be edited.
Be sure to read all Prisme configuration options.
You can also configure Grafana and ClickHouse as you like.
Step 3: Start services
Once you downloaded the file and configured services, run the following command in the same directory to start your environment:
docker compose up
[+] Running 1/0
✔ Container deploy-clickhouse-1 Running 0.0s
Attaching to clickhouse-1, grafana-1, prisme-1
grafana-1 | Grafana server is running with elevated privileges. This is not recommended
grafana-1 | logger=settings t=2024-05-13T14:29:22.262736066Z level=info msg="Starting Grafana" version=10.3.3 commit=252761264e22ece57204b327f9130d3b44592c01 branch=HEAD compiled=2024-05-13T14:29:22Z
grafana-1 | logger=settings t=2024-05-13T14:29:22.262907119Z level=info msg="Config loaded from" file=/usr/share/grafana/conf/defaults.ini
grafana-1 | logger=settings t=2024-05-13T14:29:22.2629132Z level=info msg="Config loaded from" file=/etc/grafana/grafana.ini
grafana-1 | logger=settings t=2024-05-13T14:29:22.262915544Z level=info msg="Config overridden from command line" arg="default.paths.data=/var/lib/grafana"
grafana-1 | logger=settings t=2024-05-13T14:29:22.262917939Z level=info msg="Config overridden from command line" arg="default.paths.logs=/var/log/grafana"
grafana-1 | logger=settings t=2024-05-13T14:29:22.262922587Z level=info msg="Config overridden from command line" arg="default.paths.plugins=/var/lib/grafana/plugins"
grafana-1 | logger=settings t=2024-05-13T14:29:22.262924631Z level=info msg="Config overridden from command line" arg="default.paths.provisioning=/etc/grafana/provisioning"
grafana-1 | logger=settings t=2024-05-13T14:29:22.262927046Z level=info msg="Config overridden from command line" arg="default.log.mode=console"
...
# If you want to detach containers from your terminal.
docker compose up -d
You should start seeing tons of log from started services.
You can check that your services are healthy using docker ps
. If a service is
missing or has exited prematurely, you can see logs using
docker logs <container_name>
and start troubleshooting.
Prisme logs are formatted as JSON, one entry per line. Prisme follows
bunyan
format so you can pipe logs to
bunyan CLI to get a more human readable output:
docker logs prisme 2>&1 | bunyan
Step 4: Going further
If you're really planning to host and maintain your own Prisme Analytics instance, consider:
- putting your services behind a reverse proxy with TLS support such as caddy, traefik or nginx
- automating and testing your backups
- watching Prisme Analytics repository to be notified when new version is released