]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/piwik/recipes/default.rb
Allow piwik to use LOAD DATA INFILE for improved performance
[chef.git] / cookbooks / piwik / recipes / default.rb
index 3b7a40057caa1f2bfe4abb56059005388abf45ca..b2a27737ad4872a2f6a35db11d2415d1b0109e0d 100644 (file)
@@ -20,7 +20,7 @@
 include_recipe "apache"
 include_recipe "geoipupdate"
 include_recipe "mysql"
-include_recipe "php::apache-fpm"
+include_recipe "php::fpm"
 
 passwords = data_bag_item("piwik", "passwords")
 
@@ -32,7 +32,6 @@ package %w[
   php-gd
   php-xml
   php-apcu
-  unzip
 ]
 
 apache_module "expires"
@@ -51,10 +50,10 @@ remote_file "#{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" do
   not_if { ::File.exist?("/opt/piwik-#{version}/piwik") }
 end
 
-execute "unzip-piwik-#{version}" do
-  command "unzip -q #{Chef::Config[:file_cache_path]}/piwik-#{version}.zip"
-  cwd "/opt/piwik-#{version}"
-  user "root"
+archive_file "#{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" do
+  destination "/opt/piwik-#{version}"
+  overwrite true
+  owner "root"
   group "root"
   not_if { ::File.exist?("/opt/piwik-#{version}/piwik") }
 end
@@ -89,6 +88,12 @@ directory "/opt/piwik-#{version}/piwik/tmp" do
   mode "0755"
 end
 
+directory "/opt/piwik-#{version}/piwik/tmp/assets" do
+  owner "www-data"
+  group "mysql"
+  mode "0750"
+end
+
 link "/opt/piwik-#{version}/piwik/misc/GeoLite2-ASN.mmdb" do
   to "/usr/share/GeoIP/GeoLite2-ASN.mmdb"
 end
@@ -103,7 +108,7 @@ end
 
 link "/srv/piwik.openstreetmap.org" do
   to "/opt/piwik-#{version}/piwik"
-  notifies :restart, "service[apache2]"
+  notifies :restart, "service[php#{node[:php][:version]}-fpm]"
 end
 
 mysql_user "piwik@localhost" do
@@ -119,13 +124,16 @@ ssl_certificate "piwik.openstreetmap.org" do
   notifies :reload, "service[apache2]"
 end
 
+php_fpm "piwik.openstreetmap.org" do
+  prometheus_port 9253
+end
+
 apache_site "piwik.openstreetmap.org" do
   template "apache.erb"
 end
 
-template "/etc/cron.d/piwiki" do
-  source "cron.erb"
-  owner "root"
-  group "root"
-  mode "0644"
+cron_d "piwik" do
+  minute "5"
+  user "www-data"
+  command "/usr/bin/php /srv/piwik.openstreetmap.org/console core:archive --quiet --url=https://piwik.openstreetmap.org/"
 end