Skip to content

Matomo stack documentation

Setup

Use the following credentials during the initial setup on the Database Setup step:

  • Database Server: matomo
  • Login: matomo
  • Password: Copy the value of MYSQL_PASSWORD from [Instance] > Stack > Database page
  • Database Name: matomo

Redis integration

You can use redis to store Matomo cache (by default stored in the local filesystem):

  • Enable redis service in your application stack from [Instance] > Stack page
  • Copy your instance UUID from [Instance] > Settings page
  • Access the server hosting your matomo instance as root and append /srv/wodby/instances/[INSTANCE UUID]/app/config/config.ini.php file with the following values:
[Cache]
backend = chained

[ChainedCache]
backends[] = array
backends[] = redis

[RedisCache]
host = "redis"
port = 6379
timeout = 0.0
password = "Copy the value of `REDIS_PASSWORD` from `[Instance] > Stack > Redis page`"
database = 14

Mail delivery

Go to Settings > System > General settings > Email server settings in your Matomo instance. Specify opensmtpd as server address and 25 as port. For more details how to configure guaranteed email delivery see OpenSMTPD stack documentation

No delivery guarantee

If you're using a server from a public cloud there's a good chance that its IP is already compromised and blacklisted by major mail services, hence your emails will not be delivered or will land in the spam folder. We strongly recommend using OpenSMTPD in pair with a third-party SMTP services.

Cron

By default we run the following cron command from crond container every hour:

/usr/local/bin/php /var/www/html/console core:archive --url=${WODBY_URL_PRIMARY}

Containers

PHP

  • PHP can be configured with the following environment variables
  • Available php extensions
  • Composer pre-installed with a default global package hirak/prestissimo:^0.3 to download dependencies in parallel

Environment variables

Variables availability

Environment variables provided by Wodby are always available in PHP even if PHP_FPM_CLEAR_ENV set to no.

In addition to global environment variables, we provide the following variables in PHP container that you can use in your post-deployment scripts or settings files:

Variable Description
$APP_ROOT /var/www/html by default
$HTTP_ROOT e.g. /var/www/html/web
$CONF_DIR /var/www/conf by default
$WODBY_APP_NAME My app
$WODBY_HOST_PRIMARY example.com
$WODBY_URL_PRIMARY http://example.com
$WODBY_HOSTS [ "example.com", "dev.example.org.wod.by" ]

Deprecated variables:

Variable Instead use
$WODBY_APP_ROOT $APP_ROOT
$WODBY_APP_DOCROOT $HTTP_ROOT
$WODBY_CONF $CONF_DIR
$WODBY_DIR_CONF $CONF_DIR

Files directory permissions

Public files directory (symlink to /mnt/files/public) that used for uploads owned by www-data user (PHP-FPM user) by default and the default container user (wodby) has no writing permissions. So if you run a command that creates files in a public directory you will get insufficient permissions error. You can fix this problem by giving writing permissions for files directory to the owner's group (user wodby is a member of www-data group) by using one of the helper scripts:

sudo files_chmod /mnt/files/public

For mode details about users and permissions in PHP container see https://github.com/wodby/php#users-and-permissions

Crond

A duplicate of the main PHP container runs with crond (instead of FPM). You can customize crontab from [Instance] > Stack > Settings page.

$WODBY_HOST_PRIMARY is a domain marked as primary.

SSHd

A duplicate of PHP container runs with SSH daemon (instead of FPM). You can find access information on [Instance] > Stack > SSH

Public SSH keys from your Wodby profile will be added automatically for all users that have access to an instance.

OpenSMTPD

MariaDB

Redis

Changelog

This changelog is for Matomo stack on Wodby, to see image changes see tags description on repository page.

0.4.8

Matomo patch update: 3.6.1

0.4.7

  • Matomo rebased to the latest stable PHP image
  • Adminer:
    • Bugfix: some $PHP_ env vars were ignored
    • Default memory limit set to 512M
    • Adminer and Webgrind rebased to the latest php image

0.4.6

  • Matomo rebased to the latest stable PHP version
  • Added Adminer service

0.4.5

Matomo rebased to the latest stable PHP version

0.4.4

PHP security updates

0.4.2

Minor Nginx fixes

0.4.1

  • Matomo image updated to the latest PHP image
  • Minor Nginx fixes

0.4.0

  • Matomo updated to 3.6.0
  • Patch updates for PHP, Nginx and MariaDB

0.3.1

  • Matomo updated to 3.5.1
  • Added Nginx 1.14, 1.15
  • MariaBD:
    • Added new version 10.3
    • Version 10.2 updated to 10.2.15
    • Default innodb_buffer_pool_size set to 128M that should significantly decrease memory usage
  • PHP error reporting now exludes strict and deprecated errors

0.3.0

  • Matomo updated to 3.5.0
  • Added SSHD container
  • Matomo image rebased to latest stable PHP 7.1 image (wodby/php:7.1-4.4.2)

0.2.1

  • Bugfix: cron task failed

0.2.0

  • PHP updated to 7.1.15 (security updates)
  • Redis service added
  • Docs: added instructions for redis and email configuration
  • Bugfix: insufficient permissions for plugins install

0.1.0

  • Initial release