As I still didn’t deploy Kubernetes on my personal server, I introduce you my Docker(-Compose) setup:
First of all we need to install both the
docker and the
zypper in docker python3-docker-compose
We must create a directory for our
docker-compose.yml and some Matomo specific configuration files:
# mkdir -p /var/www/matomo/; cd /var/www/matomo/ # wget https://raw.githubusercontent.com/matomo-org/docker/master/.examples/nginx/docker-compose.yml # wget https://raw.githubusercontent.com/matomo-org/docker/master/.examples/nginx/matomo.conf # wget https://raw.githubusercontent.com/matomo-org/docker/master/.examples/nginx/db.env # edit db.env # Put random value for MYSQL_PASSWORD and the same for MATOMO_DATABASE_PASSWORD # edit docker-compose.yml # Put random value for MYSQL_ROOT_PASSWORD
After we have the configuration ready we can start the whole setup:
# docker-compose up -d Creating matomo_web_1 ... done Creating matomo_db_1 ... done Creating matomo_app_1 ... done
When all containers are running we can connect to our machine on port 8080 and setup Matomo.
It is recommended to put the instance behind a proxy server such as HAProxy or NGINX. I wrote blog post exmplaing how to setup NGINX for this.
Hugo integration - Harbor theme
With working Matomo instance, I just had to Add Matomo support
for Harbor theme and add Motomo domain name and site ID to my
[params.matomo] domain = "matomo.pdostal.cz" id = "1"
If your template does not support Matomo natively, you may add the tracking code manually as well.