@@ -9,28 +9,66 @@ import json
99import sys
1010import agent
1111import os
12+ import secrets
1213from pathlib import Path
1314
15+ data = json .load (sys .stdin )
16+
1417# try to find the timezone except to UTC
1518symlink_path = "/etc/localtime"
1619resolved_path = Path (symlink_path ).resolve ()
1720timezone = str (resolved_path .relative_to (Path ("/usr/share/zoneinfo" )))
1821if not timezone :
1922 timezone = "UTC"
2023
24+
25+ def generate_random_password ():
26+ return secrets .token_urlsafe (16 )
27+
28+
29+ MARIADB_AUTO_UPGRADE = data .get ("MARIADB_AUTO_UPGRADE" , "1" )
30+ MARIADB_DISABLE_UPGRADE_BACKUP = data .get ("MARIADB_DISABLE_UPGRADE_BACKUP" , "1" )
31+ MARIADB_ROOT_PASSWORD = generate_random_password ()
32+ MARIADB_DATABASE = data .get ("MARIADB_DATABASE" , "matomo" )
33+ MARIADB_USER = data .get ("MARIADB_USER" , "matomo" )
34+ MARIADB_PASSWORD = generate_random_password ()
35+ MARIADB_INITDB_SKIP_TZINFO = data .get ("MARIADB_INITDB_SKIP_TZINFO" , "1" )
36+
37+ database_config = {
38+ "MARIADB_AUTO_UPGRADE" : MARIADB_AUTO_UPGRADE ,
39+ "MARIADB_DISABLE_UPGRADE_BACKUP" : MARIADB_DISABLE_UPGRADE_BACKUP ,
40+ "MARIADB_ROOT_PASSWORD" : MARIADB_ROOT_PASSWORD ,
41+ "MARIADB_DATABASE" : MARIADB_DATABASE ,
42+ "MARIADB_USER" : MARIADB_USER ,
43+ "MARIADB_PASSWORD" : MARIADB_PASSWORD ,
44+ "MARIADB_INITDB_SKIP_TZINFO" : MARIADB_INITDB_SKIP_TZINFO ,
45+ }
46+ agent .write_envfile ("database.env" , database_config )
47+
48+ MATOMO_DATABASE_HOST = data .get ("MATOMO_DATABASE_HOST" , "matomo-mariadb" )
49+ MATOMO_DATABASE_USERNAME = MARIADB_USER
50+ MATOMO_DATABASE_PASSWORD = MARIADB_PASSWORD
51+ MATOMO_DATABASE_DBNAME = MARIADB_DATABASE
52+ MATOMO_DATABASE_TABLES_PREFIX = data .get ("MATOMO_DATABASE_TABLES_PREFIX" , "matomo" )
53+ MATOMO_DATABASE_ADAPTER = data .get ("MATOMO_DATABASE_ADAPTER" , "mysql" )
54+ PHP_MEMORY_LIMIT = data .get ("PHP_MEMORY_LIMIT" , "2048M" )
55+
56+ matomo_config = {
57+ "MATOMO_DATABASE_HOST" : MATOMO_DATABASE_HOST ,
58+ "MATOMO_DATABASE_USERNAME" : MATOMO_DATABASE_USERNAME ,
59+ "MATOMO_DATABASE_PASSWORD" : MATOMO_DATABASE_PASSWORD ,
60+ "MATOMO_DATABASE_DBNAME" : MATOMO_DATABASE_DBNAME ,
61+ "MATOMO_DATABASE_TABLES_PREFIX" : MATOMO_DATABASE_TABLES_PREFIX ,
62+ "MATOMO_DATABASE_ADAPTER" : MATOMO_DATABASE_ADAPTER ,
63+ "PHP_MEMORY_LIMIT" : PHP_MEMORY_LIMIT ,
64+ }
65+ agent .write_envfile ("matomo.env" , matomo_config )
66+
67+
2168# Create default vars
22- agent .set_env ("MATOMO_DATABASE_ADAPTER" , "mysql" )
23- agent .set_env ("MATOMO_DATABASE_TABLES_PREFIX" , "matomo" )
24- agent .set_env ("MARIADB_DISABLE_UPGRADE_BACKUP" , 1 )
25- agent .set_env ("MARIADB_AUTO_UPGRADE" , 1 )
26- agent .set_env ("PHP_MEMORY_LIMIT" , 2048 )
27- agent .set_env ("MARIADB_INITDB_SKIP_TZINFO" , "1" )
2869
29- # agent.set_env("MATOMO_DATABASE_HOST", "localhost")
30- # agent.set_env("MATOMO_DATABASE_USERNAME", "matomo")
31- # agent.set_env("MATOMO_DATABASE_PASSWORD", "Nethesis,1234")
32- # agent.set_env("MATOMO_DATABASE_DBNAME", "matomo")
70+ agent .set_env ("PHP_MEMORY_LIMIT" , 2048 )
3371
3472# Try to parse the stdin as JSON.
35-
73+ agent . dump_env ()
3674
0 commit comments