mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +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.
|
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||||
|
|
||||||
|
.matomo
|
||||||
|
|
||||||
# compiled output
|
# compiled output
|
||||||
/dist
|
/dist
|
||||||
/tmp
|
/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_ROOT_PASSWORD=
|
||||||
MYSQL_DATABASE=matomo
|
MYSQL_DATABASE=matomo_db
|
||||||
MYSQL_USER=matomo
|
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_ADAPTER=mysql
|
||||||
MATOMO_DATABASE_TABLES_PREFIX=matomo_
|
MATOMO_DATABASE_TABLES_PREFIX=matomo_
|
||||||
MATOMO_DATABASE_USERNAME=matomo
|
MATOMO_DATABASE_USERNAME=matomo
|
||||||
MATOMO_DATABASE_PASSWORD=
|
MATOMO_DATABASE_PASSWORD=omotam
|
||||||
MATOMO_DATABASE_DBNAME=matomo
|
MATOMO_DATABASE_DBNAME=matomo_db
|
||||||
MARIADB_AUTO_UPGRADE=1
|
|
||||||
MARIADB_INITDB_SKIP_TZINFO=1
|
|
||||||
@@ -1,25 +1,22 @@
|
|||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.11
|
image: mariadb:latest
|
||||||
command: --max-allowed-packet=64MB
|
command: --max-allowed-packet=64MB
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- db:/var/lib/mysql:Z
|
- db:/var/lib/mysql:Z
|
||||||
environment:
|
|
||||||
- MARIADB_AUTO_UPGRADE=1
|
|
||||||
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./db.env
|
- ./db.env
|
||||||
|
|
||||||
app:
|
app:
|
||||||
image: matomo
|
image: matomo:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/var/www/html/config:z
|
- ./.matomo/config:/var/www/html/config:z
|
||||||
- ./logs:/var/www/html/logs:z
|
- ./.matomo/logs:/var/www/html/logs:z
|
||||||
- matomo:/var/www/html:z
|
- matomo:/var/www/html:z
|
||||||
environment:
|
|
||||||
- MATOMO_DATABASE_HOST=db
|
|
||||||
env_file:
|
env_file:
|
||||||
- ./db.env
|
- ./db.env
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
Reference in New Issue
Block a user