diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9519ade..c0ecd77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,11 +4,103 @@ name: gcr.io/kaniko-project/executor:v1.23.2-debug entrypoint: [ "" ] script: - - /kaniko/executor --context "${CI_PROJECT_DIR}" --build-arg "GITLAB_USER=${CI_DEPLOY_USER}" --build-arg "GITLAB_PASSWORD=${CI_DEPLOY_PASSWORD}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${IMAGE_TAG}" --cache=true --cache-ttl 24h + - mkdir -p config + - | + cat > config/config.ini.php << EOF + ; DO NOT DELETE 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 = "${APP_MATOMO_DATABASE_HOST}" + username = "${APP_MATOMO_DATABASE_USERNAME}" + password = "${APP_MATOMO_DATABASE_PASSWORD}" + dbname = "${APP_MATOMO_DATABASE_DBNAME}" + tables_prefix = "${APP_MATOMO_DATABASE_TABLES_PREFIX}" + port = "${APP_MATOMO_DATABASE_PORT}" + adapter = "${APP_MATOMO_DATABASE_ADAPTER}" + charset = "utf8mb4" + collation = "utf8mb4_0900_ai_ci" + + [General] + proxy_client_headers[] = "HTTP_X_FORWARDED_FOR" + proxy_host_headers[] = "HTTP_X_FORWARDED_HOST" + salt = "${APP_MATOMO_SALT}" + trusted_hosts[] = "${APP_DOMAIN}" + + [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" + PluginsInstalled[] = "FeatureFlags" + EOF + - /kaniko/executor --context "${CI_PROJECT_DIR}" --build-arg "GITLAB_USER=${CI_DEPLOY_USER}" --build-arg "GITLAB_PASSWORD=${CI_DEPLOY_PASSWORD}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" --destination "${IMAGE_TAG}" --cache=true --cache-ttl 24h allow_failure: false + docker-build:staging: extends: .docker-build + environment: + name: staging variables: IMAGE_TAG: "${CI_REGISTRY_IMAGE}:s-${CI_COMMIT_SHA}" rules: @@ -18,6 +110,8 @@ docker-build:staging: docker-build:latest: extends: .docker-build + environment: + name: production variables: IMAGE_TAG: "${CI_REGISTRY_IMAGE}:p-${CI_COMMIT_SHA}" rules: diff --git a/Dockerfile b/Dockerfile index 7f9db8c..c9261a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,9 @@ RUN a2enmod rewrite && \ setcap 'cap_net_bind_service=+ep' /usr/sbin/apache2 && \ rm -rf /var/lib/apt/lists/* -USER www-data +ARG USER=www-data +USER ${USER} + +COPY --chown=${USER}:${USER} ./config/config.ini.php /var/www/html/config/config.ini.php RUN printf "RewriteEngine On\nRewriteRule ^unicorn$ matomo.js [L]\nRewriteRule ^rainbow$ matomo.php [L]\n" > /var/www/html/.htaccess \ No newline at end of file diff --git a/README.md b/README.md index 637f8ad..6d19386 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Matomo +## API + +salt is used for API token + ## Custom .htaccess : ```bash diff --git a/manifest.yaml b/manifest.yaml index 26c31a3..f702921 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -4,12 +4,6 @@ kind: ConfigMap metadata: name: ${CI_PROJECT_PATH_SLUG}-config-map data: - MATOMO_DATABASE_HOST: "${APP_MATOMO_DATABASE_HOST}" - MATOMO_DATABASE_ADAPTER: "${APP_MATOMO_DATABASE_ADAPTER}" - MATOMO_DATABASE_TABLES_PREFIX: "${APP_MATOMO_DATABASE_TABLES_PREFIX}" - MATOMO_DATABASE_USERNAME: "${APP_MATOMO_DATABASE_USERNAME}" - MATOMO_DATABASE_PASSWORD: "${APP_MATOMO_DATABASE_PASSWORD}" - MATOMO_DATABASE_DBNAME: "${APP_MATOMO_DATABASE_DBNAME}" PHP_MEMORY_LIMIT: "${APP_PHP_MEMORY_LIMIT}" --- apiVersion: apps/v1 @@ -95,11 +89,13 @@ spec: image: $IMAGE_TAG imagePullPolicy: IfNotPresent command: - - "php" + - "/usr/bin/bash" args: - - "/var/www/html/console" + - "-c" + - "-i" + - "./console" - "core:archive" - - "--url=https://yl.s-web.fr" + - "--url=https://${APP_DOMAIN}" envFrom: - configMapRef: name: ${CI_PROJECT_PATH_SLUG}-config-map