mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 14:32:10 +01:00
Update Matomo Docker Konfiguration
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,5 +1,7 @@
|
||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
.matomo
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/tmp
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# This file is auto generated by Matomo, do not edit directly
|
||||
# Please report any issue or improvement directly to the Matomo team.
|
||||
|
||||
# First, deny access to all files in this directory
|
||||
<Files "*">
|
||||
<IfModule mod_version.c>
|
||||
<IfVersion < 2.4>
|
||||
Order Deny,Allow
|
||||
Deny from All
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
Require all denied
|
||||
</IfVersion>
|
||||
</IfModule>
|
||||
<IfModule !mod_version.c>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order Deny,Allow
|
||||
Deny from All
|
||||
</IfModule>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
</Files>
|
||||
@@ -1,80 +0,0 @@
|
||||
; <?php exit; ?> DO NOT REMOVE THIS LINE
|
||||
; file automatically generated or modified by Matomo; you can manually override the default values in global.ini.php by redefining them in this file.
|
||||
[database]
|
||||
host = "db"
|
||||
username = "matomo"
|
||||
password = "95a79f96da8344e49c3e10c7f3ef3f60"
|
||||
dbname = "matomo"
|
||||
tables_prefix = "matomo_"
|
||||
charset = "utf8mb4"
|
||||
|
||||
[General]
|
||||
salt = "39e9934fb5c1a4128492dae16fe3b7dc"
|
||||
trusted_hosts[] = "localhost:8080"
|
||||
|
||||
[PluginsInstalled]
|
||||
PluginsInstalled[] = "Diagnostics"
|
||||
PluginsInstalled[] = "Login"
|
||||
PluginsInstalled[] = "CoreAdminHome"
|
||||
PluginsInstalled[] = "UsersManager"
|
||||
PluginsInstalled[] = "SitesManager"
|
||||
PluginsInstalled[] = "Installation"
|
||||
PluginsInstalled[] = "Monolog"
|
||||
PluginsInstalled[] = "Intl"
|
||||
PluginsInstalled[] = "JsTrackerInstallCheck"
|
||||
PluginsInstalled[] = "CoreVue"
|
||||
PluginsInstalled[] = "CorePluginsAdmin"
|
||||
PluginsInstalled[] = "CoreHome"
|
||||
PluginsInstalled[] = "WebsiteMeasurable"
|
||||
PluginsInstalled[] = "IntranetMeasurable"
|
||||
PluginsInstalled[] = "CoreVisualizations"
|
||||
PluginsInstalled[] = "Proxy"
|
||||
PluginsInstalled[] = "API"
|
||||
PluginsInstalled[] = "Widgetize"
|
||||
PluginsInstalled[] = "Transitions"
|
||||
PluginsInstalled[] = "LanguagesManager"
|
||||
PluginsInstalled[] = "Actions"
|
||||
PluginsInstalled[] = "Dashboard"
|
||||
PluginsInstalled[] = "MultiSites"
|
||||
PluginsInstalled[] = "Referrers"
|
||||
PluginsInstalled[] = "UserLanguage"
|
||||
PluginsInstalled[] = "DevicesDetection"
|
||||
PluginsInstalled[] = "Goals"
|
||||
PluginsInstalled[] = "Ecommerce"
|
||||
PluginsInstalled[] = "SEO"
|
||||
PluginsInstalled[] = "Events"
|
||||
PluginsInstalled[] = "UserCountry"
|
||||
PluginsInstalled[] = "GeoIp2"
|
||||
PluginsInstalled[] = "VisitsSummary"
|
||||
PluginsInstalled[] = "VisitFrequency"
|
||||
PluginsInstalled[] = "VisitTime"
|
||||
PluginsInstalled[] = "VisitorInterest"
|
||||
PluginsInstalled[] = "RssWidget"
|
||||
PluginsInstalled[] = "Feedback"
|
||||
PluginsInstalled[] = "TwoFactorAuth"
|
||||
PluginsInstalled[] = "CoreUpdater"
|
||||
PluginsInstalled[] = "CoreConsole"
|
||||
PluginsInstalled[] = "ScheduledReports"
|
||||
PluginsInstalled[] = "UserCountryMap"
|
||||
PluginsInstalled[] = "Live"
|
||||
PluginsInstalled[] = "PrivacyManager"
|
||||
PluginsInstalled[] = "ImageGraph"
|
||||
PluginsInstalled[] = "Annotations"
|
||||
PluginsInstalled[] = "MobileMessaging"
|
||||
PluginsInstalled[] = "Overlay"
|
||||
PluginsInstalled[] = "SegmentEditor"
|
||||
PluginsInstalled[] = "Insights"
|
||||
PluginsInstalled[] = "Morpheus"
|
||||
PluginsInstalled[] = "Contents"
|
||||
PluginsInstalled[] = "BulkTracking"
|
||||
PluginsInstalled[] = "Resolution"
|
||||
PluginsInstalled[] = "DevicePlugins"
|
||||
PluginsInstalled[] = "Heartbeat"
|
||||
PluginsInstalled[] = "Marketplace"
|
||||
PluginsInstalled[] = "ProfessionalServices"
|
||||
PluginsInstalled[] = "UserId"
|
||||
PluginsInstalled[] = "CustomJsTracker"
|
||||
PluginsInstalled[] = "Tour"
|
||||
PluginsInstalled[] = "PagePerformance"
|
||||
PluginsInstalled[] = "CustomDimensions"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'Matomo\Cache\Backend' => Piwik\DI::autowire('Matomo\Cache\Backend\ArrayCache'),
|
||||
|
||||
'Piwik\Translation\Loader\LoaderInterface' => Piwik\DI::autowire('Piwik\Translation\Loader\LoaderCache')
|
||||
->constructorParameter('loader', Piwik\DI::get('Piwik\Translation\Loader\DevelopmentLoader')),
|
||||
'Piwik\Translation\Loader\DevelopmentLoader' => Piwik\DI::create()
|
||||
->constructor(Piwik\DI::get('Piwik\Translation\Loader\JsonFileLoader')),
|
||||
|
||||
);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,265 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Matomo\Cache\Eager;
|
||||
use Piwik\SettingsServer;
|
||||
|
||||
return [
|
||||
|
||||
'path.root' => PIWIK_DOCUMENT_ROOT,
|
||||
|
||||
'path.misc.user' => 'misc/user/',
|
||||
|
||||
'path.tmp' => function (\Piwik\Container\Container $c) {
|
||||
$root = PIWIK_USER_PATH;
|
||||
|
||||
// TODO remove that special case and instead have plugins override 'path.tmp' to add the instance id
|
||||
if ($c->has('ini.General.instance_id')) {
|
||||
$instanceId = $c->get('ini.General.instance_id');
|
||||
$instanceId = $instanceId ? '/' . $instanceId : '';
|
||||
} else {
|
||||
$instanceId = '';
|
||||
}
|
||||
|
||||
/** @var Piwik\Config\ $config */
|
||||
$config = $c->get('Piwik\Config');
|
||||
$general = $config->General;
|
||||
$tmp = empty($general['tmp_path']) ? '/tmp' : $general['tmp_path'];
|
||||
|
||||
return $root . $tmp . $instanceId;
|
||||
},
|
||||
|
||||
'path.tmp.templates' => Piwik\DI::string('{path.tmp}/templates_c'),
|
||||
|
||||
'path.cache' => Piwik\DI::string('{path.tmp}/cache/tracker/'),
|
||||
|
||||
'view.clearcompiledtemplates.enable' => true,
|
||||
|
||||
'twig.cache' => Piwik\DI::string('{path.tmp.templates}'),
|
||||
|
||||
'Matomo\Cache\Eager' => function (\Piwik\Container\Container $c) {
|
||||
$backend = $c->get('Matomo\Cache\Backend');
|
||||
$cacheId = $c->get('cache.eager.cache_id');
|
||||
|
||||
if (SettingsServer::isTrackerApiRequest()) {
|
||||
$eventToPersist = 'Tracker.end';
|
||||
$cacheId .= 'tracker';
|
||||
} else {
|
||||
$eventToPersist = 'Request.dispatch.end';
|
||||
$cacheId .= 'ui';
|
||||
}
|
||||
|
||||
$cache = new Eager($backend, $cacheId);
|
||||
\Piwik\Piwik::addAction($eventToPersist, function () use ($cache) {
|
||||
$cache->persistCacheIfNeeded(43200);
|
||||
});
|
||||
|
||||
return $cache;
|
||||
},
|
||||
'Matomo\Cache\Backend' => function (\Piwik\Container\Container $c) {
|
||||
// If Piwik is not installed yet, it's possible the tmp/ folder is not writable
|
||||
// we prevent failing with an unclear message eg. coming from doctrine-cache
|
||||
// by forcing to use a cache backend which always works ie. array
|
||||
if (!\Piwik\SettingsPiwik::isMatomoInstalled()) {
|
||||
$backend = 'array';
|
||||
} else {
|
||||
try {
|
||||
$backend = $c->get('ini.Cache.backend');
|
||||
} catch (\Piwik\Exception\DI\NotFoundException $ex) {
|
||||
$backend = 'chained'; // happens if global.ini.php is not available
|
||||
}
|
||||
}
|
||||
|
||||
return \Piwik\Cache::buildBackend($backend);
|
||||
},
|
||||
'cache.eager.cache_id' => function () {
|
||||
return 'eagercache-' . str_replace(['.', '-'], '', \Piwik\Version::VERSION) . '-';
|
||||
},
|
||||
|
||||
/**
|
||||
* A list of API query parameters that map to entity IDs, for example, `idGoal` for goals.
|
||||
*
|
||||
* If your plugin introduces new entities that can be fetched or manipulated by ID through
|
||||
* API requests, you should add the query parameters that represent the new entity's IDs
|
||||
* to this array.
|
||||
*/
|
||||
'entities.idNames' => Piwik\DI::add(['idGoal', 'idDimension']),
|
||||
|
||||
/**
|
||||
* If your plugin uses custom query parameters in API requests (that is, query parameters not used
|
||||
* by a core plugin), and you want to be able to use those query parameters in system tests, you
|
||||
* will need to add them, via DI, to this array. Otherwise, in system tests, they will be
|
||||
* silently ignored.
|
||||
*
|
||||
* Note: if the query parameter has been added to `'entities.idNames'`, it does not need to be added
|
||||
* here as well.
|
||||
*/
|
||||
'DocumentationGenerator.customParameters' => [],
|
||||
|
||||
\Piwik\Log\LoggerInterface::class => Piwik\DI::create(\Piwik\Log\NullLogger::class),
|
||||
|
||||
'Piwik\Translation\Loader\LoaderInterface' => Piwik\DI::autowire('Piwik\Translation\Loader\LoaderCache')
|
||||
->constructorParameter('loader', Piwik\DI::get('Piwik\Translation\Loader\JsonFileLoader')),
|
||||
|
||||
'DeviceDetector\Cache\Cache' => Piwik\DI::autowire('Piwik\DeviceDetector\DeviceDetectorCache')->constructor(86400),
|
||||
|
||||
// specify plugins to load on demand via DI config. mostly for tests.
|
||||
'plugins.shouldLoadOnDemand' => [],
|
||||
|
||||
// allow users to override plugin hardcoded value and avoid loading on demand
|
||||
'plugins.shouldNotLoadOnDemand' => [],
|
||||
|
||||
'observers.global' => [],
|
||||
|
||||
'dev.disable_plugin_update_checks' => false,
|
||||
|
||||
/**
|
||||
* By setting this option to false, the check that the DB schema version matches the version of the source code will
|
||||
* be no longer performed. Thus it allows you to execute for example a newer version of Matomo with an older Matomo
|
||||
* database version. Please note disabling this setting is not recommended because often an older DB version is not
|
||||
* compatible with newer source code.
|
||||
* If you disable this setting, make sure to execute the updates after updating the source code. The setting can be
|
||||
* useful if you want to update Matomo without any outage when you know the current source code update will still
|
||||
* run fine for a short time while in the background the database updates are running.
|
||||
*/
|
||||
'EnableDbVersionCheck' => true,
|
||||
|
||||
'fileintegrity.ignore' => Piwik\DI::add([
|
||||
'*.htaccess',
|
||||
'*web.config',
|
||||
'bootstrap.php',
|
||||
'favicon.ico',
|
||||
'robots.txt',
|
||||
'.bowerrc',
|
||||
'.lfsconfig',
|
||||
'.phpstorm.meta.php',
|
||||
'config/config.ini.php',
|
||||
'config/config.php',
|
||||
'config/common.ini.php',
|
||||
'config/*.config.ini.php',
|
||||
'config/manifest.inc.php',
|
||||
'misc/*.dat',
|
||||
'misc/*.dat.gz',
|
||||
'misc/*.mmdb',
|
||||
'misc/*.mmdb.gz',
|
||||
'misc/*.bin',
|
||||
'misc/user/*png',
|
||||
'misc/user/*svg',
|
||||
'misc/user/*js',
|
||||
'misc/user/*/config.ini.php',
|
||||
'misc/package',
|
||||
'misc/package/WebAppGallery/*.xml',
|
||||
'misc/package/WebAppGallery/install.sql',
|
||||
'plugins/ImageGraph/fonts/unifont.ttf',
|
||||
'plugins/*/config/tracker.php',
|
||||
'plugins/*/config/config.php',
|
||||
'vendor/autoload.php',
|
||||
'vendor/composer/autoload_real.php',
|
||||
'vendor/szymach/c-pchart/app/*',
|
||||
'tmp/*',
|
||||
// Search engine sites verification
|
||||
'google*.html',
|
||||
'BingSiteAuth.xml',
|
||||
'yandex*.html',
|
||||
// common files on shared hosters
|
||||
'php.ini',
|
||||
'.user.ini',
|
||||
'error_log',
|
||||
// Files below are not expected but they used to be present in older Piwik versions and may be still here
|
||||
// As they are not going to cause any trouble we won't report them as 'File to delete'
|
||||
'*.coveralls.yml',
|
||||
'*.scrutinizer.yml',
|
||||
'*.gitignore',
|
||||
'*.gitkeep',
|
||||
'*.gitmodules',
|
||||
'*.gitattributes',
|
||||
'*.git-blame-ignore-revs',
|
||||
'*.bower.json',
|
||||
'*.travis.yml',
|
||||
]),
|
||||
|
||||
'Piwik\EventDispatcher' => Piwik\DI::autowire()->constructorParameter('observers', Piwik\DI::get('observers.global')),
|
||||
|
||||
'login.allowlist.ips' => function (\Piwik\Container\Container $c) {
|
||||
/** @var Piwik\Config\ $config */
|
||||
$config = $c->get('Piwik\Config');
|
||||
$general = $config->General;
|
||||
|
||||
$ips = [];
|
||||
if (!empty($general['login_allowlist_ip']) && is_array($general['login_allowlist_ip'])) {
|
||||
$ips = $general['login_allowlist_ip'];
|
||||
} elseif (!empty($general['login_whitelist_ip']) && is_array($general['login_whitelist_ip'])) {
|
||||
// for BC
|
||||
$ips = $general['login_whitelist_ip'];
|
||||
}
|
||||
|
||||
$ipsResolved = [];
|
||||
|
||||
foreach ($ips as $ip) {
|
||||
$ip = trim($ip);
|
||||
if (filter_var($ip, FILTER_VALIDATE_IP) || \Matomo\Network\IPUtils::getIPRangeBounds($ip) !== null) {
|
||||
$ipsResolved[] = $ip;
|
||||
} else {
|
||||
$lazyCache = \Piwik\Cache::getLazyCache();
|
||||
$cacheKey = 'DNS.' . md5($ip);
|
||||
|
||||
$resolvedIps = $lazyCache->fetch($cacheKey);
|
||||
|
||||
if (!is_array($resolvedIps)) {
|
||||
$resolvedIps = [];
|
||||
|
||||
$ipFromHost = @gethostbyname($ip);
|
||||
if (!empty($ipFromHost) && $ipFromHost !== $ip) {
|
||||
$resolvedIps[] = $ipFromHost;
|
||||
}
|
||||
|
||||
if (function_exists('dns_get_record')) {
|
||||
$entry = @dns_get_record($ip, DNS_AAAA);
|
||||
|
||||
if (
|
||||
!empty($entry['0']['ipv6'])
|
||||
&& filter_var($entry['0']['ipv6'], FILTER_VALIDATE_IP)
|
||||
) {
|
||||
$resolvedIps[] = $entry['0']['ipv6'];
|
||||
}
|
||||
}
|
||||
|
||||
$lazyCache->save($cacheKey, $resolvedIps, 30);
|
||||
}
|
||||
|
||||
$ipsResolved = array_merge($ipsResolved, $resolvedIps);
|
||||
}
|
||||
}
|
||||
|
||||
return $ipsResolved;
|
||||
},
|
||||
|
||||
/**
|
||||
* This defines a list of hostnames Matomo's Http class will deny requests to. Wildcards (*) can be used in the
|
||||
* beginning to match any subdomain level or in the end to match any tlds
|
||||
*/
|
||||
'http.blocklist.hosts' => [
|
||||
'*.amazonaws.com',
|
||||
],
|
||||
|
||||
'Piwik\Tracker\VisitorRecognizer' => Piwik\DI::autowire()
|
||||
->constructorParameter('trustCookiesOnly', Piwik\DI::get('ini.Tracker.trust_visitors_cookies'))
|
||||
->constructorParameter('visitStandardLength', Piwik\DI::get('ini.Tracker.visit_standard_length'))
|
||||
->constructorParameter('lookbackNSecondsCustom', Piwik\DI::get('ini.Tracker.window_look_back_for_visitor')),
|
||||
|
||||
'Piwik\Tracker\Settings' => Piwik\DI::autowire()
|
||||
->constructorParameter(
|
||||
'isSameFingerprintsAcrossWebsites',
|
||||
Piwik\DI::get('ini.Tracker.enable_fingerprinting_across_websites')
|
||||
),
|
||||
|
||||
'archiving.performance.logger' => null,
|
||||
|
||||
\Piwik\CronArchive\Performance\Logger::class => Piwik\DI::autowire()
|
||||
->constructorParameter('logger', Piwik\DI::get('archiving.performance.logger')),
|
||||
|
||||
\Piwik\Concurrency\LockBackend::class => \Piwik\DI::get(\Piwik\Concurrency\LockBackend\MySqlLockBackend::class),
|
||||
|
||||
\Piwik\Segment\SegmentsList::class => function () {
|
||||
return \Piwik\Segment\SegmentsList::get();
|
||||
}
|
||||
];
|
||||
10939
config/manifest.inc.php
10939
config/manifest.inc.php
File diff suppressed because it is too large
Load Diff
16
db.env
16
db.env
@@ -1,11 +1,13 @@
|
||||
MYSQL_PASSWORD=
|
||||
MYSQL_DATABASE=matomo
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
MYSQL_DATABASE=matomo_db
|
||||
MYSQL_USER=matomo
|
||||
MARIADB_ROOT_PASSWORD=matomo
|
||||
MYSQL_PASSWORD=omotam
|
||||
|
||||
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true
|
||||
|
||||
MATOMO_DATABASE_HOST=db
|
||||
MATOMO_DATABASE_ADAPTER=mysql
|
||||
MATOMO_DATABASE_TABLES_PREFIX=matomo_
|
||||
MATOMO_DATABASE_USERNAME=matomo
|
||||
MATOMO_DATABASE_PASSWORD=
|
||||
MATOMO_DATABASE_DBNAME=matomo
|
||||
MARIADB_AUTO_UPGRADE=1
|
||||
MARIADB_INITDB_SKIP_TZINFO=1
|
||||
MATOMO_DATABASE_PASSWORD=omotam
|
||||
MATOMO_DATABASE_DBNAME=matomo_db
|
||||
@@ -1,25 +1,22 @@
|
||||
services:
|
||||
db:
|
||||
image: mariadb:10.11
|
||||
image: mariadb:latest
|
||||
command: --max-allowed-packet=64MB
|
||||
restart: always
|
||||
volumes:
|
||||
- db:/var/lib/mysql:Z
|
||||
environment:
|
||||
- MARIADB_AUTO_UPGRADE=1
|
||||
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
||||
env_file:
|
||||
- ./db.env
|
||||
|
||||
app:
|
||||
image: matomo
|
||||
image: matomo:latest
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./config:/var/www/html/config:z
|
||||
- ./logs:/var/www/html/logs:z
|
||||
- ./.matomo/config:/var/www/html/config:z
|
||||
- ./.matomo/logs:/var/www/html/logs:z
|
||||
- matomo:/var/www/html:z
|
||||
environment:
|
||||
- MATOMO_DATABASE_HOST=db
|
||||
env_file:
|
||||
- ./db.env
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user