You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Dryusdan 54932a16cb autoupdate 5 years ago
rootfs add opcache 5 years ago
.drone.yml config drone 5 years ago
Dockerfile startup 5 years ago first commit 5 years ago
lastAutoupdate autoupdate 5 years ago


What is this?

It is a web analytics platform. Piwik respects your privacy and gives you full control over your data.


  • Based on Alpine Linux.
  • Latest Piwik stable.
  • nginx stable + PHP7.
  • mysql drivers (server not built-in).
  • Latest GeoLite City Database from

Build-time variables

  • VERSION : version of Piwik
  • GPG_matthieu : fingerprint of signing key

Environment variables

  • GID : piwik group id (default : 991)
  • UID : piwik user id (default : 991)


  • /config : configuration files


Piwik can update itself. It works well. I'm also maintaing this Dockerfile, so if you don't want to do upgrades directly from Piwik, you can recreate the container as well whenever I push an update.


According to Piwik, everything should be fine running this image. You shoudn't have any difficulties to setup your own instance of Piwik. Your /config/config.ini.php overwrites the one (in /piwik/config)used by Piwik each time the container is started. Moreover, the old config.ini.php is saved as /config/config.ini.php.bkp if you want to revert last changes. This should also guarantee transparency through Piwik's updates.

If you're running Piwik behind a reverse proxy (most likely you do), add this to your config.ini.php :

#assume_secure_protocol = 1 #uncomment if you use https
proxy_client_headers[] = HTTP_X_FORWARDED_FOR
proxy_client_headers[] = HTTP_X_REAL_IP
proxy_host_headers[] = HTTP_X_FORWARDED_HOST

Reverse proxy

Use port 8888.

Docker Compose (example)

  image: wonderfall/piwik
    - db_piwik:db_piwik
    - /mnt/docker/piwik/config:/config
    - GID=1000
    - UID=1000

  image: mariadb:10
    - /mnt/docker/piwik/db:/var/lib/mysql
    - MYSQL_ROOT_PASSWORD=asupersecretpassword
    - MYSQL_DATABASE=piwik
    - MYSQL_USER=piwik
    - MYSQL_PASSWORD=asupersecretpassword