Digitalist-Open-Cloud / Matomo-Plugin-ExtraTools

ExtraTools is a plugin for Matomo, which provides some console commands.
https://digitalist.cloud/
GNU General Public License v3.0
26 stars 12 forks source link

Installing for Matomo 4.x #21

Closed chriscroome closed 3 years ago

chriscroome commented 3 years ago

Should an install of the 4.x-dev branch work?

I'm finding that every step I was using fails, for example:

composer require symfony/process:^3.4

In ArrayLoader.php line 44:

  Unknown package has no name defined ([{"name":"composer\/ca-bundle","version":"1.2.8","version_normalized":"1.2.8.0","source":{"type":"git","url":"https:\/\/github.com\/composer\/ca-bundle.git","reference":"8a7ecad675253e4654ea05505233285377405215"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/composer\/ca-bundle\/zipball\/8a7ecad675253e4654ea05505233285377405215","reference":"8a7ecad675253e4654ea05505233285377405215","shasum":""},"require":{"ext-openssl":"*","ext-pcre":"*","php":"^5.3.2 || ^7.0 || ^8.0"},"require-dev":{"phpunit\/phpunit":"^4.8.35 || ^5.7 || 6.5 - 8","psr\/log":"^1.0","symfony\/process":"^2.5 || ^3.0 || ^4.0 || ^5.0"},"time":"2020-08-23T12:54:47+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Composer\\CaBundle\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Jordi Boggiano","email":"j.boggiano@seld.be","homepage":"http:\/\/seld.be"}],"description":"Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.","keywords":["cabundle","cacert","certificate","ssl","tls"],"support":{"irc":"irc:\/\/irc.freenode.org\/composer","issues":"https:\/\/github.com\/composer\/ca-bundle\/issues","source":"https:\/\/github.com\/composer\/ca-bundle\/tree\/1.2.8"},"funding":[{"url":"https:\/\/packagist.com","type":"custom"},{"url":"https:\/\/github.com\/composer","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/composer\/composer","type":"tidelift"}],"install-path":".\/ca-bundle"},{"name":"composer\/semver","version":"1.3.0","version_normalized":"1.3.0.0","source":{"type":"git","url":"https:\/\/github.com\/composer\/semver.git","reference":"df4463baa9f44fe6cf0a6da4fde2934d4c0a2747"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/composer\/semver\/zipball\/df4463baa9f44fe6cf0a6da4fde2934d4c0a2747","reference":"df4463baa9f44fe6cf0a6da4fde2934d4c0a2747","shasum":""},"require":{"php":"^5.3.2 || ^7.0"},"require-dev":{"phpunit\/phpunit":"^4.5 || ^5.0.5","phpunit\/phpunit-mock-objects":"2.3.0 || ^3.0"},"time":"2016-02-25T22:23:39+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Composer\\Semver\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Nils Adermann","email":"naderman@naderman.de","homepage":"http:\/\/www.naderman.de"},{"name":"Jordi Boggiano","email":"j.boggiano@seld.be","homepage":"http:\/\/seld.be"},{"name":"Rob Bast","email":"rob.bast@gmail.com","homepage":"http:\/\/robbast.nl"}],"description":"Semver library that offers utilities, version constraint parsing and validation.","keywords":["semantic","semver","validation","versioning"],"support":{"irc":"irc:\/\/irc.freenode.org\/composer","issues":"https:\/\/github.com\/composer\/semver\/issues","source":"https:\/\/github.com\/composer\/semver\/tree\/master"},"install-path":".\/semver"},{"name":"davaxi\/sparkline","version":"1.2.2","version_normalized":"1.2.2.0","source":{"type":"git","url":"https:\/\/github.com\/davaxi\/Sparkline.git","reference":"380d447fcfc6468f7d8e5c041e8c01b8ec969959"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/davaxi\/Sparkline\/zipball\/380d447fcfc6468f7d8e5c041e8c01b8ec969959","reference":"380d447fcfc6468f7d8e5c041e8c01b8ec969959","shasum":""},"require":{"ext-gd":"*","php":">=5.4.0"},"require-dev":{"codeclimate\/php-test-reporter":"dev-master","ext-gd":"*","friendsofphp\/php-cs-fixer":"^2.8","jakub-onderka\/php-parallel-lint":"^0.9.2","php":">=5.4.0","phpro\/grumphp":"^0.12.0","phpunit\/phpunit":"^4.8.36","povils\/phpmnd":"^1.1","sebastian\/phpcpd":"^3.0","sensiolabs\/security-checker":"^4.1","squizlabs\/php_codesniffer":"^3.1","wearejust\/grumphp-extra-tasks":"^2.1"},"time":"2020-02-05T13:40:09+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Davaxi\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"David Patiashvili","email":"stratagem.david@gmail.com","homepage":"https:\/\/www.patiashvili.fr\/","role":"Developer"}],"description":"PHP Class (using GD) to generate sparklines","keywords":["php","picture","sparkline"],"support":{"issues":"https:\/\/github.com\/davaxi\/Sparkline\/issues","source":"https:\/\/github.com\/davaxi\/Sparkline\/releases"},"install-path":"..\/davaxi\/sparkline"},{"name":"doctrine\/cache","version":"1.10.2","version_normalized":"1.10.2.0","source":{"type":"git","url":"https:\/\/github.com\/doctrine\/cache.git","reference":"13e3381b25847283a91948d04640543941309727"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/doctrine\/cache\/zipball\/13e3381b25847283a91948d04640543941309727","reference":"13e3381b25847283a91948d04640543941309727","shasum":""},"require":{"php":"~7.1 || ^8.0"},"conflict":{"doctrine\/common":">2.2,<2.4"},"require-dev":{"alcaeus\/mongo-php-adapter":"^1.1","doctrine\/coding-standard":"^6.0","mongodb\/mongodb":"^1.1","phpunit\/phpunit":"^7.0","predis\/predis":"~1.0"},"suggest":{"alcaeus\/mongo-php-adapter":"Required to use legacy MongoDB driver"},"time":"2020-07-07T18:54:01+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.9.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Doctrine\\Common\\Cache\\":"lib\/Doctrine\/Common\/Cache"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Guilherme Blanco","email":"guilhermeblanco@gmail.com"},{"name":"Roman Borschel","email":"roman@code-factory.org"},{"name":"Benjamin Eberlei","email":"kontakt@beberlei.de"},{"name":"Jonathan Wage","email":"jonwage@gmail.com"},{"name":"Johannes Schmitt","email":"schmittjoh@gmail.com"}],"description":"PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.","homepage":"https:\/\/www.doctrine-project.org\/projects\/cache.html","keywords":["abstraction","apcu","cache","caching","couchdb","memcached","php","redis","xcache"],"support":{"issues":"https:\/\/github.com\/doctrine\/cache\/issues","source":"https:\/\/github.com\/doctrine\/cache\/tree\/1.10.x"},"funding":[{"url":"https:\/\/www.doctrine-project.org\/sponsorship.html","type":"custom"},{"url":"https:\/\/www.patreon.com\/phpdoctrine","type":"patreon"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/doctrine%2Fcache","type":"tidelift"}],"install-path":"..\/doctrine\/cache"},{"name":"geoip2\/geoip2","version":"v2.11.0","version_normalized":"2.11.0.0","source":{"type":"git","url":"https:\/\/github.com\/maxmind\/GeoIP2-php.git","reference":"d01be5894a5c1a3381c58c9b1795cd07f96c30f7"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/maxmind\/GeoIP2-php\/zipball\/d01be5894a5c1a3381c58c9b1795cd07f96c30f7","reference":"d01be5894a5c1a3381c58c9b1795cd07f96c30f7","shasum":""},"require":{"ext-json":"*","maxmind-db\/reader":"~1.8","maxmind\/web-service-common":"~0.8","php":">=7.2"},"require-dev":{"friendsofphp\/php-cs-fixer":"2.*","phpunit\/phpunit":"^8.0 || ^9.0","squizlabs\/php_codesniffer":"3.*"},"time":"2020-10-01T18:48:34+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"GeoIp2\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["Apache-2.0"],"authors":[{"name":"Gregory J. Oschwald","email":"goschwald@maxmind.com","homepage":"https:\/\/www.maxmind.com\/"}],"description":"MaxMind GeoIP2 PHP API","homepage":"https:\/\/github.com\/maxmind\/GeoIP2-php","keywords":["IP","geoip","geoip2","geolocation","maxmind"],"support":{"issues":"https:\/\/github.com\/maxmind\/GeoIP2-php\/issues","source":"https:\/\/github.com\/maxmind\/GeoIP2-php\/tree\/v2.11.0"},"install-path":"..\/geoip2\/geoip2"},{"name":"leafo\/lessphp","version":"dev-php74-compat","version_normalized":"dev-php74-compat","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/lessphp.git","reference":"1c1bf226f6d394f28cc676a6c2893556a5dcb495"},"time":"2020-06-18T02:38:35+00:00","type":"library","extra":{"branch-alias":{"dev-master":"0.4.x-dev"}},"installation-source":"source","autoload":{"classmap":["lessc.inc.php"]},"license":["MIT","GPL-3.0"],"authors":[{"name":"Leaf Corcoran","email":"leafot@gmail.com","homepage":"http:\/\/leafo.net"}],"description":"lessphp is a compiler for LESS written in PHP.","homepage":"http:\/\/leafo.net\/lessphp\/","install-path":"..\/leafo\/lessphp"},{"name":"matomo\/cache","version":"2.0.2","version_normalized":"2.0.2.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/component-cache.git","reference":"01e82b9dc0f2f8b0ee070212b0e9e91045f60926"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/component-cache\/zipball\/01e82b9dc0f2f8b0ee070212b0e9e91045f60926","reference":"01e82b9dc0f2f8b0ee070212b0e9e91045f60926","shasum":""},"require":{"doctrine\/cache":"~1.4","php":">=5.5.9"},"require-dev":{"phpunit\/phpunit":"~5.7"},"time":"2019-07-14T20:55:17+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Matomo\\Cache\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0"],"authors":[{"name":"The Matomo Team","email":"hello@matomo.org","homepage":"https:\/\/matomo.org\/the-matomo-team\/"}],"description":"PHP caching library based on Doctrine cache","keywords":["array","cache","file","redis"],"support":{"issues":"https:\/\/github.com\/matomo-org\/component-cache\/issues","source":"https:\/\/github.com\/matomo-org\/component-cache\/tree\/master"},"install-path":"..\/matomo\/cache"},{"name":"matomo\/decompress","version":"2.1.0","version_normalized":"2.1.0.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/component-decompress.git","reference":"44dcf77dcd633a9c336f90d80658ad3d25225e05"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/component-decompress\/zipball\/44dcf77dcd633a9c336f90d80658ad3d25225e05","reference":"44dcf77dcd633a9c336f90d80658ad3d25225e05","shasum":""},"require":{"pear\/archive_tar":"^1.4.3","php":">=5.3.2"},"require-dev":{"phpunit\/phpunit":"^4.8.36"},"time":"2020-01-11T23:34:33+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Matomo\\Decompress\\":"src\/"},"classmap":["libs\/PclZip"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0"],"support":{"issues":"https:\/\/github.com\/matomo-org\/component-decompress\/issues","source":"https:\/\/github.com\/matomo-org\/component-decompress\/tree\/master"},"install-path":"..\/matomo\/decompress"},{"name":"matomo\/device-detector","version":"4.0.2","version_normalized":"4.0.2.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/device-detector.git","reference":"20572bbf8607cfc2f91a11fc75e9a3c6592bdc7a"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/device-detector\/zipball\/20572bbf8607cfc2f91a11fc75e9a3c6592bdc7a","reference":"20572bbf8607cfc2f91a11fc75e9a3c6592bdc7a","shasum":""},"require":{"mustangostang\/spyc":"*","php":">=7.2"},"replace":{"piwik\/device-detector":"self.version"},"require-dev":{"matthiasmullie\/scrapbook":"@stable","mayflower\/mo4-coding-standard":"dev-master#275cb9d","phpstan\/phpstan":"^0.12.52","phpunit\/phpunit":"^8.5.8","psr\/cache":"^1.0.1","psr\/simple-cache":"^1.0.1","symfony\/yaml":"^5.1.7"},"suggest":{"doctrine\/cache":"Can directly be used for caching purpose","ext-yaml":"Necessary for using the Pecl YAML parser"},"time":"2020-12-07T09:40:38+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"DeviceDetector\\":""},"exclude-from-classmap":["Tests\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0-or-later"],"authors":[{"name":"The Matomo Team","email":"hello@matomo.org","homepage":"https:\/\/matomo.org\/team\/"}],"description":"The Universal Device Detection library, that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, media players, mobile apps, feed readers, libraries, etc), operating systems, devices, brands and models.","homepage":"https:\/\/matomo.org","keywords":["devicedetection","parser","useragent"],"support":{"forum":"http:\/\/forum.matomo.org\/","issues":"https:\/\/github.com\/matomo-org\/device-detector\/issues","source":"https:\/\/github.com\/matomo-org\/piwik","wiki":"https:\/\/dev.matomo.org\/"},"install-path":"..\/matomo\/device-detector"},{"name":"matomo\/ini","version":"2.0.2","version_normalized":"2.0.2.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/component-ini.git","reference":"f7b0d6ce594b34ead16864fbc5062c771328ac31"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/component-ini\/zipball\/f7b0d6ce594b34ead16864fbc5062c771328ac31","reference":"f7b0d6ce594b34ead16864fbc5062c771328ac31","shasum":""},"require":{"php":">=5.3.3"},"require-dev":{"athletic\/athletic":"0.1.*","phpunit\/phpunit":"^4.8.36"},"time":"2020-01-12T18:54:50+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Matomo\\Ini\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0"],"support":{"issues":"https:\/\/github.com\/matomo-org\/component-ini\/issues","source":"https:\/\/github.com\/matomo-org\/component-ini\/tree\/master"},"install-path":"..\/matomo\/ini"},{"name":"matomo\/matomo-php-tracker","version":"3.0.0","version_normalized":"3.0.0.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/matomo-php-tracker.git","reference":"31e2b0bdf479c6fc00758228d2c6d7c85c1863a0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/matomo-php-tracker\/zipball\/31e2b0bdf479c6fc00758228d2c6d7c85c1863a0","reference":"31e2b0bdf479c6fc00758228d2c6d7c85c1863a0","shasum":""},"require":{"ext-json":"*","php":">=5.3"},"require-dev":{"phpunit\/phpunit":"^9.3"},"suggest":{"ext-curl":"Using this extension to issue the HTTPS request to Matomo"},"time":"2020-11-21T05:20:05+00:00","type":"library","installation-source":"dist","autoload":{"classmap":["."]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-2-Clause"],"authors":[{"name":"The Matomo Team","email":"hello@matomo.org","homepage":"https:\/\/matomo.org\/team\/"}],"description":"PHP Client for Matomo Analytics Tracking API","homepage":"https:\/\/matomo.org","keywords":["analytics","matomo","piwik","tracker"],"support":{"forum":"https:\/\/forum.matomo.org\/","issues":"https:\/\/github.com\/matomo-org\/matomo-php-tracker\/issues","source":"https:\/\/github.com\/matomo-org\/matomo-php-tracker"},"install-path":"..\/matomo\/matomo-php-tracker"},{"name":"matomo\/network","version":"2.0.1","version_normalized":"2.0.1.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/component-network.git","reference":"ff654b8fc7778b80279815d06a368f7b41249501"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/component-network\/zipball\/ff654b8fc7778b80279815d06a368f7b41249501","reference":"ff654b8fc7778b80279815d06a368f7b41249501","shasum":""},"require":{"php":">=5.4"},"require-dev":{"phpunit\/phpunit":"^4.8.36"},"time":"2020-10-05T06:09:39+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Matomo\\Network\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0"],"support":{"issues":"https:\/\/github.com\/matomo-org\/component-network\/issues","source":"https:\/\/github.com\/matomo-org\/component-network\/tree\/2.0.1"},"install-path":"..\/matomo\/network"},{"name":"matomo\/referrer-spam-list","version":"4.0.0","version_normalized":"4.0.0.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/referrer-spam-list.git","reference":"afe4c1ea107ee7a8915a0d5eb0031cf0366608a8"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/referrer-spam-list\/zipball\/afe4c1ea107ee7a8915a0d5eb0031cf0366608a8","reference":"afe4c1ea107ee7a8915a0d5eb0031cf0366608a8","shasum":""},"replace":{"matomo\/referrer-spam-blacklist":"*","piwik\/referrer-spam-blacklist":"*"},"time":"2020-08-10T19:54:07+00:00","type":"library","installation-source":"dist","notification-url":"https:\/\/packagist.org\/downloads\/","license":["CC0-1.0"],"description":"Community-contributed list of referrer spammers","support":{"issues":"https:\/\/github.com\/matomo-org\/referrer-spam-list\/issues","source":"https:\/\/github.com\/matomo-org\/referrer-spam-list\/tree\/4.0.0"},"install-path":"..\/matomo\/referrer-spam-list"},{"name":"matomo\/searchengine-and-social-list","version":"3.11.0","version_normalized":"3.11.0.0","source":{"type":"git","url":"https:\/\/github.com\/matomo-org\/searchengine-and-social-list.git","reference":"80ab98ed17ea5b72730f4f4d96acc03847440103"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/matomo-org\/searchengine-and-social-list\/zipball\/80ab98ed17ea5b72730f4f4d96acc03847440103","reference":"80ab98ed17ea5b72730f4f4d96acc03847440103","shasum":""},"replace":{"piwik\/searchengine-and-social-list":"*"},"time":"2020-01-13T09:01:25+00:00","type":"library","installation-source":"dist","notification-url":"https:\/\/packagist.org\/downloads\/","license":["CC0-1.0"],"description":"Search engine and social network definitions used by Matomo (formerly Piwik)","support":{"issues":"https:\/\/github.com\/matomo-org\/searchengine-and-social-list\/issues","source":"https:\/\/github.com\/matomo-org\/searchengine-and-social-list\/tree\/master"},"install-path":"..\/matomo\/searchengine-and-social-list"},{"name":"maxmind-db\/reader","version":"v1.8.0","version_normalized":"1.8.0.0","source":{"type":"git","url":"https:\/\/github.com\/maxmind\/MaxMind-DB-Reader-php.git","reference":"b566d429ac9aec10594b0935be8ff38302f8d5c8"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/maxmind\/MaxMind-DB-Reader-php\/zipball\/b566d429ac9aec10594b0935be8ff38302f8d5c8","reference":"b566d429ac9aec10594b0935be8ff38302f8d5c8","shasum":""},"require":{"php":">=7.2"},"conflict":{"ext-maxminddb":"<1.8.0,>=2.0.0"},"require-dev":{"friendsofphp\/php-cs-fixer":"2.*","php-coveralls\/php-coveralls":"^2.1","phpunit\/phpcov":">=6.0.0","phpunit\/phpunit":">=8.0.0,<10.0.0","squizlabs\/php_codesniffer":"3.*"},"suggest":{"ext-bcmath":"bcmath or gmp is required for decoding larger integers with the pure PHP decoder","ext-gmp":"bcmath or gmp is required for decoding larger integers with the pure PHP decoder","ext-maxminddb":"A C-based database decoder that provides significantly faster lookups"},"time":"2020-10-01T17:30:21+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"MaxMind\\Db\\":"src\/MaxMind\/Db"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["Apache-2.0"],"authors":[{"name":"Gregory J. Oschwald","email":"goschwald@maxmind.com","homepage":"https:\/\/www.maxmind.com\/"}],"description":"MaxMind DB Reader API","homepage":"https:\/\/github.com\/maxmind\/MaxMind-DB-Reader-php","keywords":["database","geoip","geoip2","geolocation","maxmind"],"support":{"issues":"https:\/\/github.com\/maxmind\/MaxMind-DB-Reader-php\/issues","source":"https:\/\/github.com\/maxmind\/MaxMind-DB-Reader-php\/tree\/v1.8.0"},"install-path":"..\/maxmind-db\/reader"},{"name":"maxmind\/web-service-common","version":"v0.8.1","version_normalized":"0.8.1.0","source":{"type":"git","url":"https:\/\/github.com\/maxmind\/web-service-common-php.git","reference":"32f274051c543fc865e5a84d3a2c703913641ea8"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/maxmind\/web-service-common-php\/zipball\/32f274051c543fc865e5a84d3a2c703913641ea8","reference":"32f274051c543fc865e5a84d3a2c703913641ea8","shasum":""},"require":{"composer\/ca-bundle":"^1.0.3","ext-curl":"*","ext-json":"*","php":">=7.2"},"require-dev":{"friendsofphp\/php-cs-fixer":"2.*","phpunit\/phpunit":"^8.0 || ^9.0","squizlabs\/php_codesniffer":"3.*"},"time":"2020-11-02T17:00:53+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"MaxMind\\Exception\\":"src\/Exception","MaxMind\\WebService\\":"src\/WebService"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["Apache-2.0"],"authors":[{"name":"Gregory Oschwald","email":"goschwald@maxmind.com"}],"description":"Internal MaxMind Web Service API","homepage":"https:\/\/github.com\/maxmind\/web-service-common-php","support":{"issues":"https:\/\/github.com\/maxmind\/web-service-common-php\/issues","source":"https:\/\/github.com\/maxmind\/web-service-common-php\/tree\/v0.8.1"},"install-path":"..\/maxmind\/web-service-common"},{"name":"monolog\/monolog","version":"1.25.5","version_normalized":"1.25.5.0","source":{"type":"git","url":"https:\/\/github.com\/Seldaek\/monolog.git","reference":"1817faadd1846cd08be9a49e905dc68823bc38c0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/Seldaek\/monolog\/zipball\/1817faadd1846cd08be9a49e905dc68823bc38c0","reference":"1817faadd1846cd08be9a49e905dc68823bc38c0","shasum":""},"require":{"php":">=5.3.0","psr\/log":"~1.0"},"provide":{"psr\/log-implementation":"1.0.0"},"require-dev":{"aws\/aws-sdk-php":"^2.4.9 || ^3.0","doctrine\/couchdb":"~1.0@dev","graylog2\/gelf-php":"~1.0","php-amqplib\/php-amqplib":"~2.4","php-console\/php-console":"^3.1.3","php-parallel-lint\/php-parallel-lint":"^1.0","phpunit\/phpunit":"~4.5","ruflin\/elastica":">=0.90 <3.0","sentry\/sentry":"^0.13","swiftmailer\/swiftmailer":"^5.3|^6.0"},"suggest":{"aws\/aws-sdk-php":"Allow sending log messages to AWS services like DynamoDB","doctrine\/couchdb":"Allow sending log messages to a CouchDB server","ext-amqp":"Allow sending log messages to an AMQP server (1.0+ required)","ext-mongo":"Allow sending log messages to a MongoDB server","graylog2\/gelf-php":"Allow sending log messages to a GrayLog2 server","mongodb\/mongodb":"Allow sending log messages to a MongoDB server via PHP Driver","php-amqplib\/php-amqplib":"Allow sending log messages to an AMQP server using php-amqplib","php-console\/php-console":"Allow sending log messages to Google Chrome","rollbar\/rollbar":"Allow sending log messages to Rollbar","ruflin\/elastica":"Allow sending log messages to an Elastic Search server","sentry\/sentry":"Allow sending log messages to a Sentry server"},"time":"2020-07-23T08:35:51+00:00","type":"library","extra":{"branch-alias":{"dev-master":"2.0.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Monolog\\":"src\/Monolog"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Jordi Boggiano","email":"j.boggiano@seld.be","homepage":"http:\/\/seld.be"}],"description":"Sends your logs to files, sockets, inboxes, databases and various web services","homepage":"http:\/\/github.com\/Seldaek\/monolog","keywords":["log","logging","psr-3"],"support":{"issues":"https:\/\/github.com\/Seldaek\/monolog\/issues","source":"https:\/\/github.com\/Seldaek\/monolog\/tree\/1.25.5"},"funding":[{"url":"https:\/\/github.com\/Seldaek","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/monolog\/monolog","type":"tidelift"}],"install-path":"..\/monolog\/monolog"},{"name":"mustangostang\/spyc","version":"0.6.3","version_normalized":"0.6.3.0","source":{"type":"git","url":"git@github.com:mustangostang\/spyc.git","reference":"4627c838b16550b666d15aeae1e5289dd5b77da0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/mustangostang\/spyc\/zipball\/4627c838b16550b666d15aeae1e5289dd5b77da0","reference":"4627c838b16550b666d15aeae1e5289dd5b77da0","shasum":""},"require":{"php":">=5.3.1"},"require-dev":{"phpunit\/phpunit":"4.3.*@dev"},"time":"2019-09-10T13:16:29+00:00","type":"library","extra":{"branch-alias":{"dev-master":"0.5.x-dev"}},"installation-source":"dist","autoload":{"files":["Spyc.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"mustangostang","email":"vlad.andersen@gmail.com"}],"description":"A simple YAML loader\/dumper class for PHP","homepage":"https:\/\/github.com\/mustangostang\/spyc\/","keywords":["spyc","yaml","yml"],"install-path":"..\/mustangostang\/spyc"},{"name":"opis\/closure","version":"3.6.1","version_normalized":"3.6.1.0","source":{"type":"git","url":"https:\/\/github.com\/opis\/closure.git","reference":"943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/opis\/closure\/zipball\/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5","reference":"943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5","shasum":""},"require":{"php":"^5.4 || ^7.0 || ^8.0"},"require-dev":{"jeremeamia\/superclosure":"^2.0","phpunit\/phpunit":"^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"},"time":"2020-11-07T02:01:34+00:00","type":"library","extra":{"branch-alias":{"dev-master":"3.6.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Opis\\Closure\\":"src\/"},"files":["functions.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Marius Sarca","email":"marius.sarca@gmail.com"},{"name":"Sorin Sarca","email":"sarca_sorin@hotmail.com"}],"description":"A library that can be used to serialize closures (anonymous functions) and arbitrary objects.","homepage":"https:\/\/opis.io\/closure","keywords":["anonymous functions","closure","function","serializable","serialization","serialize"],"support":{"issues":"https:\/\/github.com\/opis\/closure\/issues","source":"https:\/\/github.com\/opis\/closure\/tree\/3.6.1"},"install-path":"..\/opis\/closure"},{"name":"pear\/archive_tar","version":"1.4.10","version_normalized":"1.4.10.0","source":{"type":"git","url":"https:\/\/github.com\/pear\/Archive_Tar.git","reference":"bbb4f10f71a1da2715ec6d9a683f4f23c507a49b"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/pear\/Archive_Tar\/zipball\/bbb4f10f71a1da2715ec6d9a683f4f23c507a49b","reference":"bbb4f10f71a1da2715ec6d9a683f4f23c507a49b","shasum":""},"require":{"pear\/pear-core-minimal":"^1.10.0alpha2","php":">=5.2.0"},"require-dev":{"phpunit\/phpunit":"*"},"suggest":{"ext-bz2":"Bz2 compression support.","ext-xz":"Lzma2 compression support.","ext-zlib":"Gzip compression support."},"time":"2020-09-15T14:13:23+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.4.x-dev"}},"installation-source":"dist","autoload":{"psr-0":{"Archive_Tar":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","include-path":[".\/"],"license":["BSD-3-Clause"],"authors":[{"name":"Vincent Blavet","email":"vincent@phpconcept.net"},{"name":"Greg Beaver","email":"greg@chiaraquartet.net"},{"name":"Michiel Rook","email":"mrook@php.net"}],"description":"Tar file management class with compression support (gzip, bzip2, lzma2)","homepage":"https:\/\/github.com\/pear\/Archive_Tar","keywords":["archive","tar"],"support":{"issues":"http:\/\/pear.php.net\/bugs\/search.php?cmd=display&package_name[]=Archive_Tar","source":"https:\/\/github.com\/pear\/Archive_Tar"},"install-path":"..\/pear\/archive_tar"},{"name":"pear\/console_getopt","version":"v1.4.3","version_normalized":"1.4.3.0","source":{"type":"git","url":"https:\/\/github.com\/pear\/Console_Getopt.git","reference":"a41f8d3e668987609178c7c4a9fe48fecac53fa0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/pear\/Console_Getopt\/zipball\/a41f8d3e668987609178c7c4a9fe48fecac53fa0","reference":"a41f8d3e668987609178c7c4a9fe48fecac53fa0","shasum":""},"time":"2019-11-20T18:27:48+00:00","type":"library","installation-source":"dist","autoload":{"psr-0":{"Console":".\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","include-path":[".\/"],"license":["BSD-2-Clause"],"authors":[{"name":"Andrei Zmievski","email":"andrei@php.net","role":"Lead"},{"name":"Stig Bakken","email":"stig@php.net","role":"Developer"},{"name":"Greg Beaver","email":"cellog@php.net","role":"Helper"}],"description":"More info available on: http:\/\/pear.php.net\/package\/Console_Getopt","support":{"issues":"http:\/\/pear.php.net\/bugs\/search.php?cmd=display&package_name[]=Console_Getopt","source":"https:\/\/github.com\/pear\/Console_Getopt"},"install-path":"..\/pear\/console_getopt"},{"name":"pear\/pear-core-minimal","version":"v1.10.10","version_normalized":"1.10.10.0","source":{"type":"git","url":"https:\/\/github.com\/pear\/pear-core-minimal.git","reference":"625a3c429d9b2c1546438679074cac1b089116a7"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/pear\/pear-core-minimal\/zipball\/625a3c429d9b2c1546438679074cac1b089116a7","reference":"625a3c429d9b2c1546438679074cac1b089116a7","shasum":""},"require":{"pear\/console_getopt":"~1.4","pear\/pear_exception":"~1.0"},"replace":{"rsky\/pear-core-min":"self.version"},"time":"2019-11-19T19:00:24+00:00","type":"library","installation-source":"dist","autoload":{"psr-0":{"":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","include-path":["src\/"],"license":["BSD-3-Clause"],"authors":[{"name":"Christian Weiske","email":"cweiske@php.net","role":"Lead"}],"description":"Minimal set of PEAR core files to be used as composer dependency","support":{"issues":"http:\/\/pear.php.net\/bugs\/search.php?cmd=display&package_name[]=PEAR","source":"https:\/\/github.com\/pear\/pear-core-minimal"},"install-path":"..\/pear\/pear-core-minimal"},{"name":"pear\/pear_exception","version":"v1.0.1","version_normalized":"1.0.1.0","source":{"type":"git","url":"https:\/\/github.com\/pear\/PEAR_Exception.git","reference":"dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/pear\/PEAR_Exception\/zipball\/dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7","reference":"dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7","shasum":""},"require":{"php":">=4.4.0"},"require-dev":{"phpunit\/phpunit":"*"},"time":"2019-12-10T10:24:42+00:00","type":"class","extra":{"branch-alias":{"dev-master":"1.0.x-dev"}},"installation-source":"dist","autoload":{"classmap":["PEAR\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","include-path":["."],"license":["BSD-2-Clause"],"authors":[{"name":"Helgi Thormar","email":"dufuz@php.net"},{"name":"Greg Beaver","email":"cellog@php.net"}],"description":"The PEAR Exception base class.","homepage":"https:\/\/github.com\/pear\/PEAR_Exception","keywords":["exception"],"support":{"issues":"http:\/\/pear.php.net\/bugs\/search.php?cmd=display&package_name[]=PEAR_Exception","source":"https:\/\/github.com\/pear\/PEAR_Exception"},"install-path":"..\/pear\/pear_exception"},{"name":"php-di\/invoker","version":"2.0.0","version_normalized":"2.0.0.0","source":{"type":"git","url":"https:\/\/github.com\/PHP-DI\/Invoker.git","reference":"540c27c86f663e20fe39a24cd72fa76cdb21d41a"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/PHP-DI\/Invoker\/zipball\/540c27c86f663e20fe39a24cd72fa76cdb21d41a","reference":"540c27c86f663e20fe39a24cd72fa76cdb21d41a","shasum":""},"require":{"psr\/container":"~1.0"},"require-dev":{"athletic\/athletic":"~0.1.8","phpunit\/phpunit":"~4.5"},"time":"2017-03-20T19:28:22+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"Invoker\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"Generic and extensible callable invoker","homepage":"https:\/\/github.com\/PHP-DI\/Invoker","keywords":["callable","dependency","dependency-injection","injection","invoke","invoker"],"support":{"issues":"https:\/\/github.com\/PHP-DI\/Invoker\/issues","source":"https:\/\/github.com\/PHP-DI\/Invoker\/tree\/master"},"install-path":"..\/php-di\/invoker"},{"name":"php-di\/php-di","version":"6.3.0","version_normalized":"6.3.0.0","source":{"type":"git","url":"https:\/\/github.com\/PHP-DI\/PHP-DI.git","reference":"955cacea6b0beaba07e8c11b8367f5b3d5abe89f"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/PHP-DI\/PHP-DI\/zipball\/955cacea6b0beaba07e8c11b8367f5b3d5abe89f","reference":"955cacea6b0beaba07e8c11b8367f5b3d5abe89f","shasum":""},"require":{"opis\/closure":"^3.5.5","php":">=7.2.0","php-di\/invoker":"^2.0","php-di\/phpdoc-reader":"^2.0.1","psr\/container":"^1.0"},"provide":{"psr\/container-implementation":"^1.0"},"require-dev":{"doctrine\/annotations":"~1.2","friendsofphp\/php-cs-fixer":"^2.4","mnapoli\/phpunit-easymock":"^1.2","ocramius\/proxy-manager":"~2.0.2","phpstan\/phpstan":"^0.12","phpunit\/phpunit":"^8.5|^9.0"},"suggest":{"doctrine\/annotations":"Install it if you want to use annotations (version ~1.2)","ocramius\/proxy-manager":"Install it if you want to use lazy injection (version ~2.0)"},"time":"2020-10-12T14:39:15+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"DI\\":"src\/"},"files":["src\/functions.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"The dependency injection container for humans","homepage":"https:\/\/php-di.org\/","keywords":["PSR-11","container","container-interop","dependency injection","di","ioc","psr11"],"support":{"issues":"https:\/\/github.com\/PHP-DI\/PHP-DI\/issues","source":"https:\/\/github.com\/PHP-DI\/PHP-DI\/tree\/6.3.0"},"funding":[{"url":"https:\/\/github.com\/mnapoli","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/php-di\/php-di","type":"tidelift"}],"install-path":"..\/php-di\/php-di"},{"name":"php-di\/phpdoc-reader","version":"2.2.1","version_normalized":"2.2.1.0","source":{"type":"git","url":"https:\/\/github.com\/PHP-DI\/PhpDocReader.git","reference":"66daff34cbd2627740ffec9469ffbac9f8c8185c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/PHP-DI\/PhpDocReader\/zipball\/66daff34cbd2627740ffec9469ffbac9f8c8185c","reference":"66daff34cbd2627740ffec9469ffbac9f8c8185c","shasum":""},"require":{"php":">=7.2.0"},"require-dev":{"mnapoli\/hard-mode":"~0.3.0","phpunit\/phpunit":"^8.5|^9.0"},"time":"2020-10-12T12:39:22+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"PhpDocReader\\":"src\/PhpDocReader"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"PhpDocReader parses @var and @param values in PHP docblocks (supports namespaced class names with the same resolution rules as PHP)","keywords":["phpdoc","reflection"],"support":{"issues":"https:\/\/github.com\/PHP-DI\/PhpDocReader\/issues","source":"https:\/\/github.com\/PHP-DI\/PhpDocReader\/tree\/2.2.1"},"install-path":"..\/php-di\/phpdoc-reader"},{"name":"phpmailer\/phpmailer","version":"v6.1.8","version_normalized":"6.1.8.0","source":{"type":"git","url":"https:\/\/github.com\/PHPMailer\/PHPMailer.git","reference":"917ab212fa00dc6eacbb26e8bc387ebe40993bc1"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/PHPMailer\/PHPMailer\/zipball\/917ab212fa00dc6eacbb26e8bc387ebe40993bc1","reference":"917ab212fa00dc6eacbb26e8bc387ebe40993bc1","shasum":""},"require":{"ext-ctype":"*","ext-filter":"*","ext-hash":"*","php":">=5.5.0"},"require-dev":{"doctrine\/annotations":"^1.2","friendsofphp\/php-cs-fixer":"^2.2","phpunit\/phpunit":"^4.8 || ^5.7"},"suggest":{"ext-mbstring":"Needed to send email in multibyte encoding charset","hayageek\/oauth2-yahoo":"Needed for Yahoo XOAUTH2 authentication","league\/oauth2-google":"Needed for Google XOAUTH2 authentication","psr\/log":"For optional PSR-3 debug logging","stevenmaguire\/oauth2-microsoft":"Needed for Microsoft XOAUTH2 authentication","symfony\/polyfill-mbstring":"To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)"},"time":"2020-10-09T14:55:58+00:00","type":"library","installation-source":"dist","autoload":{"psr-4":{"PHPMailer\\PHPMailer\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-2.1-only"],"authors":[{"name":"Marcus Bointon","email":"phpmailer@synchromedia.co.uk"},{"name":"Jim Jagielski","email":"jimjag@gmail.com"},{"name":"Andy Prevost","email":"codeworxtech@users.sourceforge.net"},{"name":"Brent R. Matzelle"}],"description":"PHPMailer is a full-featured email creation and transfer class for PHP","support":{"issues":"https:\/\/github.com\/PHPMailer\/PHPMailer\/issues","source":"https:\/\/github.com\/PHPMailer\/PHPMailer\/tree\/v6.1.8"},"funding":[{"url":"https:\/\/github.com\/synchro","type":"github"}],"install-path":"..\/phpmailer\/phpmailer"},{"name":"psr\/container","version":"1.0.0","version_normalized":"1.0.0.0","source":{"type":"git","url":"https:\/\/github.com\/php-fig\/container.git","reference":"b7ce3b176482dbbc1245ebf52b181af44c2cf55f"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/php-fig\/container\/zipball\/b7ce3b176482dbbc1245ebf52b181af44c2cf55f","reference":"b7ce3b176482dbbc1245ebf52b181af44c2cf55f","shasum":""},"require":{"php":">=5.3.0"},"time":"2017-02-14T16:28:37+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.0.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Psr\\Container\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"PHP-FIG","homepage":"http:\/\/www.php-fig.org\/"}],"description":"Common Container Interface (PHP FIG PSR-11)","homepage":"https:\/\/github.com\/php-fig\/container","keywords":["PSR-11","container","container-interface","container-interop","psr"],"support":{"issues":"https:\/\/github.com\/php-fig\/container\/issues","source":"https:\/\/github.com\/php-fig\/container\/tree\/master"},"install-path":"..\/psr\/container"},{"name":"psr\/log","version":"1.1.3","version_normalized":"1.1.3.0","source":{"type":"git","url":"https:\/\/github.com\/php-fig\/log.git","reference":"0f73288fd15629204f9d42b7055f72dacbe811fc"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/php-fig\/log\/zipball\/0f73288fd15629204f9d42b7055f72dacbe811fc","reference":"0f73288fd15629204f9d42b7055f72dacbe811fc","shasum":""},"require":{"php":">=5.3.0"},"time":"2020-03-23T09:12:05+00:00","type":"library","extra":{"branch-alias":{"dev-master":"1.1.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Psr\\Log\\":"Psr\/Log\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"PHP-FIG","homepage":"http:\/\/www.php-fig.org\/"}],"description":"Common interface for logging libraries","homepage":"https:\/\/github.com\/php-fig\/log","keywords":["log","psr","psr-3"],"support":{"source":"https:\/\/github.com\/php-fig\/log\/tree\/1.1.3"},"install-path":"..\/psr\/log"},{"name":"symfony\/console","version":"v2.6.13","version_normalized":"2.6.13.0","target-dir":"Symfony\/Component\/Console","source":{"type":"git","url":"https:\/\/github.com\/symfony\/console.git","reference":"0e5e18ae09d3f5c06367759be940e9ed3f568359"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/console\/zipball\/0e5e18ae09d3f5c06367759be940e9ed3f568359","reference":"0e5e18ae09d3f5c06367759be940e9ed3f568359","shasum":""},"require":{"php":">=5.3.3"},"require-dev":{"psr\/log":"~1.0","symfony\/event-dispatcher":"~2.1","symfony\/phpunit-bridge":"~2.7","symfony\/process":"~2.1"},"suggest":{"psr\/log":"For using the console logger","symfony\/event-dispatcher":"","symfony\/process":""},"time":"2015-07-26T09:08:40+00:00","type":"library","extra":{"branch-alias":{"dev-master":"2.6-dev"}},"installation-source":"dist","autoload":{"psr-0":{"Symfony\\Component\\Console\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Fabien Potencier","email":"fabien@symfony.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony Console Component","homepage":"https:\/\/symfony.com","support":{"source":"https:\/\/github.com\/symfony\/console\/tree\/v2.6.11"},"install-path":"..\/symfony\/console\/Symfony\/Component\/Console"},{"name":"symfony\/event-dispatcher","version":"v2.6.13","version_normalized":"2.6.13.0","target-dir":"Symfony\/Component\/EventDispatcher","source":{"type":"git","url":"https:\/\/github.com\/symfony\/event-dispatcher.git","reference":"672593bc4b0043a0acf91903bb75a1c82d8f2e02"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/event-dispatcher\/zipball\/672593bc4b0043a0acf91903bb75a1c82d8f2e02","reference":"672593bc4b0043a0acf91903bb75a1c82d8f2e02","shasum":""},"require":{"php":">=5.3.3"},"require-dev":{"psr\/log":"~1.0","symfony\/config":"~2.0,>=2.0.5","symfony\/dependency-injection":"~2.6","symfony\/expression-language":"~2.6","symfony\/phpunit-bridge":"~2.7","symfony\/stopwatch":"~2.3"},"suggest":{"symfony\/dependency-injection":"","symfony\/http-kernel":""},"time":"2015-05-02T15:18:45+00:00","type":"library","extra":{"branch-alias":{"dev-master":"2.6-dev"}},"installation-source":"dist","autoload":{"psr-0":{"Symfony\\Component\\EventDispatcher\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Fabien Potencier","email":"fabien@symfony.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony EventDispatcher Component","homepage":"https:\/\/symfony.com","support":{"source":"https:\/\/github.com\/symfony\/event-dispatcher\/tree\/v2.6.11"},"install-path":"..\/symfony\/event-dispatcher\/Symfony\/Component\/EventDispatcher"},{"name":"symfony\/monolog-bridge","version":"v2.6.13","version_normalized":"2.6.13.0","target-dir":"Symfony\/Bridge\/Monolog","source":{"type":"git","url":"https:\/\/github.com\/symfony\/monolog-bridge.git","reference":"ba66eeabaa004e3ab70764cab59b056b182aa535"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/monolog-bridge\/zipball\/ba66eeabaa004e3ab70764cab59b056b182aa535","reference":"ba66eeabaa004e3ab70764cab59b056b182aa535","shasum":""},"require":{"monolog\/monolog":"~1.11","php":">=5.3.3"},"require-dev":{"symfony\/console":"~2.4","symfony\/event-dispatcher":"~2.2","symfony\/http-kernel":"~2.4","symfony\/phpunit-bridge":"~2.7"},"suggest":{"symfony\/console":"For the possibility to show log messages in console commands depending on verbosity settings. You need version ~2.3 of the console for it.","symfony\/event-dispatcher":"Needed when using log messages in console commands","symfony\/http-kernel":"For using the debugging handlers together with the response life cycle of the HTTP kernel."},"time":"2015-06-25T11:21:15+00:00","type":"symfony-bridge","extra":{"branch-alias":{"dev-master":"2.6-dev"}},"installation-source":"dist","autoload":{"psr-0":{"Symfony\\Bridge\\Monolog\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Fabien Potencier","email":"fabien@symfony.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony Monolog Bridge","homepage":"https:\/\/symfony.com","support":{"source":"https:\/\/github.com\/symfony\/monolog-bridge\/tree\/v2.6.11"},"install-path":"..\/symfony\/monolog-bridge\/Symfony\/Bridge\/Monolog"},{"name":"symfony\/polyfill-ctype","version":"v1.20.0","version_normalized":"1.20.0.0","source":{"type":"git","url":"https:\/\/github.com\/symfony\/polyfill-ctype.git","reference":"f4ba089a5b6366e453971d3aad5fe8e897b37f41"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/polyfill-ctype\/zipball\/f4ba089a5b6366e453971d3aad5fe8e897b37f41","reference":"f4ba089a5b6366e453971d3aad5fe8e897b37f41","shasum":""},"require":{"php":">=7.1"},"suggest":{"ext-ctype":"For best performance"},"time":"2020-10-23T14:02:19+00:00","type":"library","extra":{"branch-alias":{"dev-main":"1.20-dev"},"thanks":{"name":"symfony\/polyfill","url":"https:\/\/github.com\/symfony\/polyfill"}},"installation-source":"dist","autoload":{"psr-4":{"Symfony\\Polyfill\\Ctype\\":""},"files":["bootstrap.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Gert de Pagter","email":"BackEndTea@gmail.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony polyfill for ctype functions","homepage":"https:\/\/symfony.com","keywords":["compatibility","ctype","polyfill","portable"],"support":{"source":"https:\/\/github.com\/symfony\/polyfill-ctype\/tree\/v1.20.0"},"funding":[{"url":"https:\/\/symfony.com\/sponsor","type":"custom"},{"url":"https:\/\/github.com\/fabpot","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/symfony\/symfony","type":"tidelift"}],"install-path":"..\/symfony\/polyfill-ctype"},{"name":"symfony\/polyfill-mbstring","version":"v1.20.0","version_normalized":"1.20.0.0","source":{"type":"git","url":"https:\/\/github.com\/symfony\/polyfill-mbstring.git","reference":"39d483bdf39be819deabf04ec872eb0b2410b531"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/polyfill-mbstring\/zipball\/39d483bdf39be819deabf04ec872eb0b2410b531","reference":"39d483bdf39be819deabf04ec872eb0b2410b531","shasum":""},"require":{"php":">=7.1"},"suggest":{"ext-mbstring":"For best performance"},"time":"2020-10-23T14:02:19+00:00","type":"library","extra":{"branch-alias":{"dev-main":"1.20-dev"},"thanks":{"name":"symfony\/polyfill","url":"https:\/\/github.com\/symfony\/polyfill"}},"installation-source":"dist","autoload":{"psr-4":{"Symfony\\Polyfill\\Mbstring\\":""},"files":["bootstrap.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Nicolas Grekas","email":"p@tchwork.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony polyfill for the Mbstring extension","homepage":"https:\/\/symfony.com","keywords":["compatibility","mbstring","polyfill","portable","shim"],"support":{"source":"https:\/\/github.com\/symfony\/polyfill-mbstring\/tree\/v1.20.0"},"funding":[{"url":"https:\/\/symfony.com\/sponsor","type":"custom"},{"url":"https:\/\/github.com\/fabpot","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/symfony\/symfony","type":"tidelift"}],"install-path":"..\/symfony\/polyfill-mbstring"},{"name":"szymach\/c-pchart","version":"v2.0.12","version_normalized":"2.0.12.0","source":{"type":"git","url":"https:\/\/github.com\/szymach\/c-pchart.git","reference":"f5fad68b303f65225db1a3d3f4bb58aea7a418b4"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/szymach\/c-pchart\/zipball\/f5fad68b303f65225db1a3d3f4bb58aea7a418b4","reference":"f5fad68b303f65225db1a3d3f4bb58aea7a418b4","shasum":""},"require":{"ext-gd":"*","php":">=5.4"},"require-dev":{"codeception\/codeception":"^2.3","phpunit\/phpunit":"^4.8|6.1","squizlabs\/php_codesniffer":"^2.8|3.0"},"time":"2019-07-26T22:48:01+00:00","type":"project","extra":{"branch-alias":{"dev-master":"2.0.x-dev"}},"installation-source":"dist","autoload":{"psr-4":{"CpChart\\":"src\/"},"files":["src\/Resources\/data\/constants.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["GPL-3.0-only"],"authors":[{"name":"Jean-Damien Pogolotti","homepage":"http:\/\/www.pchart.net","role":"Creator of the original pChart library"},{"name":"Piotr Szymaszek","homepage":"https:\/\/github.com\/szymach","role":"Developer of the CpChart wrapper package"}],"description":"Port of \"pChart\" library into PHP 5","homepage":"https:\/\/github.com\/szymach\/c-pchart","keywords":["CpChart","c-pChart","charts","pchart","statistics"],"support":{"issues":"https:\/\/github.com\/szymach\/c-pchart\/issues","source":"https:\/\/github.com\/szymach\/c-pchart\/tree\/2.0"},"install-path":"..\/szymach\/c-pchart"},{"name":"tecnickcom\/tcpdf","version":"6.3.5","version_normalized":"6.3.5.0","source":{"type":"git","url":"https:\/\/github.com\/tecnickcom\/TCPDF.git","reference":"19a535eaa7fb1c1cac499109deeb1a7a201b4549"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/tecnickcom\/TCPDF\/zipball\/19a535eaa7fb1c1cac499109deeb1a7a201b4549","reference":"19a535eaa7fb1c1cac499109deeb1a7a201b4549","shasum":""},"require":{"php":">=5.3.0"},"time":"2020-02-14T14:20:12+00:00","type":"library","installation-source":"dist","autoload":{"classmap":["config","include","tcpdf.php","tcpdf_parser.php","tcpdf_import.php","tcpdf_barcodes_1d.php","tcpdf_barcodes_2d.php","include\/tcpdf_colors.php","include\/tcpdf_filters.php","include\/tcpdf_font_data.php","include\/tcpdf_fonts.php","include\/tcpdf_images.php","include\/tcpdf_static.php","include\/barcodes\/datamatrix.php","include\/barcodes\/pdf417.php","include\/barcodes\/qrcode.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["LGPL-3.0-only"],"authors":[{"name":"Nicola Asuni","email":"info@tecnick.com","role":"lead"}],"description":"TCPDF is a PHP class for generating PDF documents and barcodes.","homepage":"http:\/\/www.tcpdf.org\/","keywords":["PDFD32000-2008","TCPDF","barcodes","datamatrix","pdf","pdf417","qrcode"],"support":{"issues":"https:\/\/github.com\/tecnickcom\/TCPDF\/issues","source":"https:\/\/github.com\/tecnickcom\/TCPDF\/tree\/6.3.5"},"install-path":"..\/tecnickcom\/tcpdf"},{"name":"tedivm\/jshrink","version":"dev-master","version_normalized":"dev-master","source":{"type":"git","url":"https:\/\/github.com\/tedious\/JShrink.git","reference":"aed09eace9d498e18d48a5b62a7e5a97dfc0e55d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/tedious\/JShrink\/zipball\/aed09eace9d498e18d48a5b62a7e5a97dfc0e55d","reference":"aed09eace9d498e18d48a5b62a7e5a97dfc0e55d","shasum":""},"require":{"php":"^5.6|^7.0"},"require-dev":{"friendsofphp\/php-cs-fixer":"^2.8","php-coveralls\/php-coveralls":"^1.1.0","phpunit\/phpunit":"^6"},"time":"2019-10-07T21:24:34+00:00","default-branch":true,"type":"library","installation-source":"source","autoload":{"psr-0":{"JShrink":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Robert Hafner","email":"tedivm@tedivm.com"}],"description":"Javascript Minifier built in PHP","homepage":"http:\/\/github.com\/tedious\/JShrink","keywords":["javascript","minifier"],"support":{"issues":"https:\/\/github.com\/tedious\/JShrink\/issues","source":"https:\/\/github.com\/tedious\/JShrink\/tree\/master"},"funding":[{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/tedivm\/jshrink","type":"tidelift"}],"install-path":"..\/tedivm\/jshrink"},{"name":"twig\/twig","version":"v3.1.1","version_normalized":"3.1.1.0","source":{"type":"git","url":"https:\/\/github.com\/twigphp\/Twig.git","reference":"b02fa41f3783a2616eccef7b92fbc2343ffed737"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/twigphp\/Twig\/zipball\/b02fa41f3783a2616eccef7b92fbc2343ffed737","reference":"b02fa41f3783a2616eccef7b92fbc2343ffed737","shasum":""},"require":{"php":">=7.2.5","symfony\/polyfill-ctype":"^1.8","symfony\/polyfill-mbstring":"^1.3"},"require-dev":{"psr\/container":"^1.0","symfony\/phpunit-bridge":"^4.4.9|^5.0.9"},"time":"2020-10-27T19:28:23+00:00","type":"library","extra":{"branch-alias":{"dev-master":"3.1-dev"}},"installation-source":"dist","autoload":{"psr-4":{"Twig\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Fabien Potencier","email":"fabien@symfony.com","homepage":"http:\/\/fabien.potencier.org","role":"Lead Developer"},{"name":"Twig Team","role":"Contributors"},{"name":"Armin Ronacher","email":"armin.ronacher@active-4.com","role":"Project Founder"}],"description":"Twig, the flexible, fast, and secure template language for PHP","homepage":"https:\/\/twig.symfony.com","keywords":["templating"],"support":{"issues":"https:\/\/github.com\/twigphp\/Twig\/issues","source":"https:\/\/github.com\/twigphp\/Twig\/tree\/v3.1.1"},"funding":[{"url":"https:\/\/github.com\/fabpot","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/twig\/twig","type":"tidelift"}],"install-path":"..\/twig\/twig"}]).

This is after downloading Matomo 4.0.5 and adding the composer.json from github.

Am I missing something here?

chriscroome commented 3 years ago

I have found a set of Ansible HTTP install tasks for Matomo so I've adopted this approach and it seems to work OK.

mikkeschiren commented 3 years ago

I guess something has changed again - I will look into it next week.

mikkeschiren commented 3 years ago

Hi,

I have looked into it now, and I can not reproduce this issue.

This is the Dockerfile we are using:

FROM  php:7.4.13-fpm-alpine3.12
LABEL maintainer="Mikke Schirén <mikke.schiren@digitalistgroup.com>"
LABEL name="digi-base-matomo"
LABEL version="0.3"
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV MATOMO_VERSION 4.1.1
ENV MAXMIND_URL https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=LICENSEKEY&suffix=tar.gz
# Simplify installing extensions with this script:
# https://github.com/mlocati/docker-php-extension-installer
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/

RUN set -ex; \
    \
    apk add --no-cache --virtual .build-deps \
        $PHPIZE_DEPS \
        autoconf \
        freetype-dev \
        icu-dev \
        libjpeg-turbo-dev \
        libpng-dev \
        libzip-dev \
        openldap-dev \
        pcre-dev \
    ; \
    \
    install-php-extensions xdebug; \
    docker-php-ext-configure gd --with-freetype --with-jpeg; \
    docker-php-ext-configure ldap; \
    docker-php-ext-install -j "$(nproc)" \
        gd \
        ldap \
        mysqli \
        opcache \
        pdo_mysql \
        zip \
    ; \
    \
# pecl will claim success even if one install fails, so we need to perform each install separately
    pecl install APCu-5.1.19; \
    pecl install redis-5.3.2; \
    \
    docker-php-ext-enable \
        apcu \
        redis \
    ; \
    \
    runDeps="$( \
        scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
        | tr ',' '\n' \
        | sort -u \
        | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
    )"; \
    apk add --virtual .matomo-phpext-rundeps $runDeps; \
    apk update && apk upgrade && apk add --no-cache autoconf bash geoip geoip-dev git libmaxminddb mysql-client rsync && \
    apk add --no-cache --virtual .build-deps $PHPIZE_DEPS && \
    git config --global advice.detachedHead false; \
    curl -L https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz >> ./libmaxminddb-1.3.2.tar.gz \
      && tar -xf libmaxminddb-1.3.2.tar.gz \
      && ( \
        cd libmaxminddb* \
        && ./configure \
        && make \
        && make install \
      ) \
      && rm -r libmaxminddb* \
  # MaxMind GeoIP Reader
      && curl -L https://github.com/maxmind/MaxMind-DB-Reader-php/archive/v1.5.0.tar.gz >> ./MaxMind-DB-Reader-php-1.4.1.tar.gz \
      && tar -xf MaxMind-DB-Reader-php-1.4.1.tar.gz \
      && ( \
          cd MaxMind-DB-Reader-php-*/ext \
          && cp /usr/local/include/maxminddb.h ./maxminddb.h \
          && cp /usr/local/include/maxminddb_config.h ./maxminddb_config.h \
          && phpize \
          && ./configure \
          && make \
          && make install \
      ) \
      && rm -r MaxMind-DB-Reader* \
      && docker-php-ext-enable maxminddb \
    && echo "geoip.custom_directory=/var/www/html/misc" >> /usr/local/etc/php/conf.d/docker-php-ext-geoip.ini && \
    echo "display_errors=0" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "log_errors=on" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "memory_limit=2G" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "error_log = /dev/stderr" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "max_execution_time=300" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "always_populate_raw_post_data=-1" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "expose_php=Off" >> /usr/local/etc/php/conf.d/docker-php-general.ini && \
    echo "opcache.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    echo "opcache.memory_consumption=128" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    echo "opcache.interned_strings_buffer=8" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    # How many files do we have? Code base around 20000 with plugins, add to that some rendered twig files etc.
    # We could check how many .php files we have with `ls -lR /var/www/html/ | grep ".php$" | wc -l`
    echo "opcache.max_accelerated_files=30139" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    # We are in a kubernetes world, code will never change on the pod. When we do a new release the old pod
    # is removed, so use opcache heavily, and never revalidate.
    echo "opcache.revalidate_freq=0" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    echo "opcache.validate_timestamps=0" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini && \
    echo "opcache.fast_shutdown=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini \
    && docker-php-source delete \
    && apk add --no-cache supervisor \
    && apk del --no-cache .build-deps; \
    apk add --no-cache --virtual .fetch-deps \
        git \
    ; \
    \
        cd /tmp; \
        git clone https://github.com/matomo-org/matomo.git; \
        cd matomo; \
        git checkout ${MATOMO_VERSION}; \
    git submodule init; \
    git submodule update; \
        rm -rf .git; \
        rm -rf /var/www/html; \
        cd /tmp; \
        mv /tmp/matomo /var/www/html

COPY docker-entrypoint.sh /entrypoint.sh
WORKDIR /var/www/html
COPY plugins.sh plugins.sh
COPY assets.sh assets.sh
# temp patch hopefully
COPY patches/invalidate-segment.patch /var/www/html/invalidate-segment.patch
COPY patches/pause-archive.patch /var/www/html/pause-archive.patch
RUN apk add --no-cache --virtual .build-deps \
        $PHPIZE_DEPS \
        autoconf \
        freetype-dev \
        icu-dev \
        libjpeg-turbo-dev \
        libpng-dev \
        libzip-dev \
        openldap-dev \
        pcre-dev \
        patch \
    ; \
    cd /var/www/html && patch -p1 < invalidate-segment.patch \
    && rm /var/www/html/invalidate-segment.patch \
    && cd /var/www/html && patch -p1 < pause-archive.patch \
    && rm /var/www/html/pause-archive.patch \
    && curl -sS https://getcomposer.org/installer | php; \
    mv composer.phar /usr/local/bin/composer; \
    ./plugins.sh; \
    ./assets.sh; \
    composer install -n --no-dev --no-scripts \
    && composer require symfony/process:^3.4 symfony/yaml:~2.6.0 \
    && curl "$MAXMIND_URL" -o /tmp/GeoLite2-City.tar.gz \
    && cd /tmp && tar xvf /tmp/GeoLite2-City.tar.gz \
    && mv /tmp/GeoLite2-City*/GeoLite2-City.mmdb /var/www/html/misc/GeoLite2-City.mmdb \
    && rm -rf /tmp/GeoLite* \
    && mkdir /usr/src/matomo \
    && rsync -crlOt --no-owner --no-group --no-perms /var/www/html/ /usr/src/matomo/ \
    && mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \
    && chown www-data:www-data /etc/supervisord.conf \
    && touch /var/log/supervisord.log \
    && chown www-data:www-data /var/log/supervisord.log \
    && chown www-data:www-data -R /usr/src/matomo \
    && chown www-data:www-data -R /var/www/html \
    && chgrp www-data -R /var/www/html \
    && rm -rf /root/.composer/cache \
    && cd /var/www/html/ \
    && rm -f ./plugins.sh \
    && rm -f ./assets.sh \
    && apk del --no-cache .build-deps
ENTRYPOINT ["/entrypoint.sh"]
USER www-data
CMD ["php-fpm"]

plugins.sh:

#!/bin/bash

plugins=( CustomOptOut GroupPermissions InvalidateReports AdminNotification TagManager ExtraTools UserConsole QueuedTracking )
for i in "${plugins[@]}"
do
curl -f -sS https://plugins.matomo.org/api/2.0/plugins/$i/download/latest > /tmp/$i.zip
  unzip /tmp/$i.zip -q -d /var/www/html/plugins -o
  echo adding $i
done

# clean up
rm -rf /tmp/*

assets.sh is just downloading some custom webfonts and icons.

Here is a testrun:

Running with gitlab-runner 13.3.1 (738bbe5a)
  on se-ops gp_vXpPA
Preparing the "docker" executor
00:03
Using Docker executor with image docker:git ...
Pulling docker image docker:git ...
Using docker image sha256:d6623ebd8af8380d0274da05d7db6d66e5f56fc6d462cd29d6a0fcb48aa8112b for docker:git ...
Preparing environment
00:01
Running on runner-gpvxppa-project-497-concurrent-0 via 90ff4dbf02c1...
Getting source from Git repository
00:01
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/se-ops/docker/matomo-docker-base/.git/
Checking out 5090059c as 4.1.1-php7.4.13-fpm-alpine3.12...
Skipping Git submodules setup
Executing "step_script" stage of the job script
00:28
$ mkdir -p /root/.docker
$ echo "{\"auths\":{\"$REGISTRY\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASSWORD\"}}}" > /root/.docker/config.json
$ docker pull $IMAGE
4-1-1-php7-4-13-fpm-alpine3-12-5090059c: Pulling from matomo/base
Digest: sha256:c1bdb4d851adee98a9301014f99d26d3e59199e4d83fd70e6548c0800fb80166
Status: Image is up to date for privateregistry/matomo/base:4-1-1-php7-4-13-fpm-alpine3-12-5090059c
privateregistry/matomo/base:4-1-1-php7-4-13-fpm-alpine3-12-5090059c
$ docker network create analyse
825ffbcf0236d7e50b7404272c03727374b64053a7a2892bbf2658b3bfc1b1e2
$ docker run -p 3306:3306 --net=analyse --name db -d -e MYSQL_DATABASE=$MYSQL_DATABASE -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_PASSWORD=$MYSQL_PASSWORD mysql:5.7 ; sleep 10
f7137181170fee5de35d895f732a0559f6fc64805e74d06cb0290d4e14a69514
$ docker run -p 9000:9000 -e MATOMO_DATABASE_HOST=db -e MATOMO_DATABASE_TABLES_PREFIX=_matomo -e MATOMO_DATABASE_USERNAME=$MYSQL_USER -e MATOMO_DATABASE_PASSWORD=$MYSQL_PASSWORD -e MATOMO_DATABASE_DBNAME=$MYSQL_DATABASE --net=analyse --name matomo -d $IMAGE ; sleep 10
9aab0e948cb3da91d0dc6604a482f744e9fba01d28653ebd865dc8b823940d53
$ docker cp  dev/config/install.json matomo:/tmp/install.json
$ docker exec -i matomo ./console plugin:activate ExtraTools || true
The configuration file {/var/www/html/config/config.ini.php} has not been found or could not be read.
 » Please check that /var/www/html/config/config.ini.php is readable by the user 'www-data'. 
ERROR [2021-01-19 20:48:56] 9  There was an error while updating the javascript tracker: SQLSTATE[HY000] [2002] No such file or directory
ERROR [2021-01-19 20:48:56] 9  There was an error while updating the javascript tracker: SQLSTATE[HY000] [2002] No such file or directory
Activated plugin ExtraTools
Error: error or warning logs detected, exit 1
$ docker exec -i matomo ./console matomo:install --install-file=/tmp/install.json --do-not-drop-db --force
Installing Matomo
Starting install
Deleting cache
Initialising Database Connections
Create Matomo core tables
Updating Components
Creating Super user
Activated Diagnostics
Activated DBStats
Activated Login
Activated CoreAdminHome
Activated UsersManager
Activated SitesManager
Activated Installation
Activated Monolog
Activated Intl
Activated CorePluginsAdmin
Activated CoreHome
Activated WebsiteMeasurable
Activated CoreVisualizations
Activated Proxy
Activated API
Activated Transitions
Activated Actions
Activated Referrers
Activated UserLanguage
Activated DevicesDetection
Activated Goals
Activated SEO
Activated Events
Activated UserCountry
Activated GeoIp2
Activated VisitsSummary
Activated VisitFrequency
Activated VisitTime
Activated VisitorInterest
Activated CoreUpdater
Activated CoreConsole
Activated UserCountryMap
Activated Live
Activated ImageGraph
Activated Annotations
Activated Insights
Activated Morpheus
Activated Contents
Activated DevicePlugins
Activated UserId
Activated ExtraTools
Activated LanguagesManager
Activated SegmentEditor
Activated Dashboard
Activated ScheduledReports
Activated PrivacyManager
Activated CustomVariables
Activated IntranetMeasurable
Activated Widgetize
Activated MultiSites
Activated Ecommerce
Activated RssWidget
Activated Feedback
Activated TwoFactorAuth
Activated MobileMessaging
Activated Overlay
Activated TestRunner
Activated BulkTracking
Activated Resolution
Activated Heartbeat
Activated Marketplace
Activated ProfessionalServices
Activated LogViewer
Deactivated Feedback
Finalising...
We are done! Welcome to Matomo!
Now you can login with user admin and password xxxx
Running after_script
00:02
Running after script...
$ docker rm -vf matomo db
matomo
db
$ docker network rm analyse
analyse
Job succeeded
mikkeschiren commented 3 years ago

Though I discovered another issue related to creation of the first, I will look into it.

mikkeschiren commented 3 years ago

Sorry for not coming back earlier - but the install works fine for me, I was wrong with the creation of the first site, and can't reproduce the error.

chriscroome commented 3 years ago

Hi @mikkeschiren I did look at this issue the other day and I suspect it might have been caused because you install with a git version of Matomo and I was using a tgz version, there might be some missing PHP libraries or something in the tgz version? However this isn't a issue for me at the moment I have switched to automating the install using the web interface for now.

mikkeschiren commented 3 years ago

Ok, closing this then :-)