Self-hosting Matomo Analytics with Docker

--

Photo by Webaroo on Unsplash

The guide with full explanation has been moved here: https://davquar.it/post/self-hosting/matomo-docker/

docker-compose.yml

version: "2"

services:
matomo:
container_name: matomo
image: matomo
ports:
- 8080:80
environment:
- MATOMO_DATABASE_HOST=matomo_db
- VIRTUAL_HOST=stats.mysite.ext
- LETSENCRYPT_HOST=stats.mysite.ext
- LETSENCRYPT_EMAIL=email@something.ext
env_file:
- ./db.env
networks:
- proxy
- net
depends_on:
- matomo_db
restart: unless-stopped

matomo_db:
container_name: matomo_db
image: mariadb
command: --max-allowed-packet=64MB
environment:
- MYSQL_ROOT_PASSWORD=makeitup
env_file:
- ./db.env
networks:
- net
restart: unless-stopped

networks:
proxy:
external:
name: nginx-proxy
net:
driver: bridge

db.env

MYSQL_PASSWORD=makeitup2
MYSQL_DATABASE=matomo
MYSQL_USER=matomo
MATOMO_DATABASE_ADAPTER=mysql
MATOMO_DATABASE_TABLES_PREFIX=matomo_
MATOMO_DATABASE_USERNAME=matomo
MATOMO_DATABASE_PASSWORD=
MATOMO_DATABASE_DBNAME=matomo

--

--