Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docker/.env
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ MATOMO_HOST_IP=127.0.0.1
MATOMO_HOST_PORT=443

MATOMO_FIRST_SITE_NAME=test
MATOMO_FIRST_SITE_URL=https://www.matomo.test
MATOMO_FIRST_SITE_URL=https://yoda.uu.nl
MATOMO_FIRST_USER_NAME=uuadmin
MATOMO_FIRST_USER_EMAIL=yoda@uu.nl
MATOMO_FIRST_USER_PASSWORD=admin
MATOMO_FIRST_USER_PASSWORD=adminadmin # must be at least 6 characters

# Database configuration
MARIADB_PASSWORD=testtest
Expand Down
2 changes: 1 addition & 1 deletion docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ services:
- matomo_config:/var/www/html/matomo/config:z
- matomo_tmp_data:/var/www/html/matomo/tmp:Z
environment:
- MATOMO_DATABASE_ADAPTER=mysql
- MATOMO_DATABASE_ADAPTER=mysqli
- MATOMO_DATABASE_DBNAME=matomo
- MATOMO_DATABASE_HOST=database
- MATOMO_DATABASE_PASSWORD=${MARIADB_PASSWORD}
Expand Down
51 changes: 38 additions & 13 deletions docker/images/matomo/matomo-init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
set -o pipefail
set -u

INITIALIZATION_FLAG_FILE="/var/www/html/matomo/config/.matomo-initialized"
MATOMO_DB_COLLATION="utf8mb4_uca1400_ai_ci"
MATOMO_DB_CHARSET="utf8mb4"

function start_service {
apache2ctl -D FOREGROUND || true
echo "Error: Apache either terminated or would not start. Keeping container running for troubleshooting purposes."
Expand Down Expand Up @@ -45,30 +49,51 @@ check_port database 3306

set -e

if ! [[ -f /container_initialized ]]
if ! [[ -f "$INITIALIZATION_FLAG_FILE" ]]
then before_update "Setting up Apache vhost"
perl -pi -e '$servername=$ENV{MATOMO_HOST}; s/SERVERNAME/$servername/' /etc/apache2/sites-available/001-matomo.conf
before_update "Initializing Matomo."
cd /var/www/html/matomo
./console matomo:install --no-interaction \
--db-username="$MATOMO_DATABASE_USERNAME" \
--db-pass="$MATOMO_DATABASE_PASSWORD" \
--db-host="$MATOMO_DATABASE_HOST" \
--db-port=3306 \
--db-name="$MATOMO_DATABASE_DBNAME" \
--first-site-name="$MATOMO_FIRST_SITE_NAME" \
--first-site-url="$MATOMO_FIRST_SITE_URL" \
--first-user="$MATOMO_FIRST_USER_NAME" \
--first-user-email="$MATOMO_FIRST_USER_EMAIL" \
--first-user-pass="$MATOMO_FIRST_USER_PASSWORD"
sudo -u www-data php console matomo:install --no-interaction --force -vvv \
--db-username="$MATOMO_DATABASE_USERNAME" \
--db-pass="$MATOMO_DATABASE_PASSWORD" \
--db-host="$MATOMO_DATABASE_HOST" \
--db-port=3306 \
--db-name="$MATOMO_DATABASE_DBNAME" \
--db-prefix="$MATOMO_DATABASE_TABLES_PREFIX" \
--db-adapter="$MATOMO_DATABASE_ADAPTER" \
--db-collation=$MATOMO_DB_COLLATION \
--db-charset=$MATOMO_DB_CHARSET \
--first-user="$MATOMO_FIRST_USER_NAME" \
--first-user-email="$MATOMO_FIRST_USER_EMAIL" \
--first-user-pass="$MATOMO_FIRST_USER_PASSWORD"
progress_update "Matomo initialized"

# Add the site manually, due to ExtraTools bug in https://plugins.matomo.org/ExtraTools?matomoversion=5#documentation
before_update "Adding first site."
sudo -u www-data php console site:add \
--name="$MATOMO_FIRST_SITE_NAME" \
--urls="$MATOMO_FIRST_SITE_URL"
progress_update "First site added"

Comment thread
FuHsinyu marked this conversation as resolved.
# Dummy command to trigger creation of missing tables after site:add
# See https://github.com/Digitalist-Open-Cloud/Matomo-Plugin-ExtraTools/issues/44 for context
before_update "Triggering table creation by querying visits for non-existent site."
sudo -u www-data php console visits:get -i 999 || true
progress_update "Triggered table creation by querying visits for non-existent site."

crudini --set /var/www/html/matomo/config/config.ini.php General browser_archiving_disabled_enforce 1
crudini --set /var/www/html/matomo/config/config.ini.php General force_ssl 1
crudini --set /var/www/html/matomo/config/config.ini.php General assume_secure_protocol 1
crudini --set /var/www/html/matomo/config/config.ini.php General proxy_client_headers[] HTTP_X_FORWARDED_FOR
crudini --set /var/www/html/matomo/config/config.ini.php General proxy_host_headers[] HTTP_X_FORWARDED_HOST
crudini --set /var/www/html/matomo/config/config.ini.php database collation ${MATOMO_DB_COLLATION}
crudini --set /var/www/html/matomo/config/config.ini.php database schema MariaDB
crudini --set /var/www/html/matomo/config/config.ini.php database charset ${MATOMO_DB_CHARSET}
chmod 0644 /var/www/html/matomo/config/config.ini.php
chown www-data:www-data /var/www/html/matomo/config/config.ini.php
touch /container_initialized

touch "$INITIALIZATION_FLAG_FILE"
fi

before_update "Initialization complete. Starting Apache"
Expand Down
2 changes: 1 addition & 1 deletion roles/matomo_docker/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ matomo_first_site_name: test
matomo_first_site_url: https://yoda.uu.nl
matomo_first_user_name: admin
matomo_first_user_email: yoda@uu.nl
matomo_first_user_password: test
matomo_first_user_password: adminadmin

matomo_mysql_password: testtest
matomo_mysql_root_password: testtest
Expand Down