#
-# Cookbook Name:: switch2osm
+# Cookbook:: switch2osm
# Recipe:: default
#
-# Copyright 2013, OpenStreetMap Foundation
+# Copyright:: 2013, OpenStreetMap Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
#
-include_recipe "wordpress"
+include_recipe "apache"
+include_recipe "git"
-passwords = data_bag_item("switch2osm", "passwords")
+package %w[
+ gcc
+ g++
+ make
+ ruby
+ ruby-dev
+ libssl-dev
+ zlib1g-dev
+ pkg-config
+]
-wordpress_site "switch2osm.org" do
- aliases ["www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
- directory "/srv/switch2osm.org"
- database_name "switch2osm-blog"
- database_user "switch2osm-user"
- database_password passwords["switch2osm-user"]
-end
-
-wordpress_theme "switch2osm.org-picolight" do
- theme "picolight"
- site "switch2osm.org"
- repository "git://github.com/Firefishy/picolight-s2o.git"
- revision "master"
-end
+apache_module "expires"
+apache_module "rewrite"
-wordpress_plugin "switch2osm.org-sitepress-multilingual-cms" do
- plugin "sitepress-multilingual-cms"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/sitepress-multilingual-cms.git"
+gem_package "bundler" do
+ version "1.17.3"
end
-wordpress_plugin "switch2osm.org-wpml-cms-nav" do
- plugin "wpml-cms-nav"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-cms-nav.git"
+git "/srv/switch2osm.org" do
+ action :sync
+ repository "https://github.com/switch2osm/switch2osm.github.io.git"
+ depth 1
+ user "root"
+ group "root"
+ notifies :run, "execute[/srv/switch2osm.org/Gemfile]"
end
-wordpress_plugin "switch2osm.org-wpml-sticky-links" do
- plugin "wpml-sticky-links"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-sticky-links.git"
+directory "/srv/switch2osm.org/_site" do
+ mode "755"
+ owner "nobody"
+ group "nogroup"
end
-wordpress_plugin "switch2osm.org-wpml-string-translation" do
- plugin "wpml-string-translation"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-string-translation.git"
+# Workaround https://github.com/jekyll/jekyll/issues/7804
+# by creating a .jekyll-cache folder
+directory "/srv/switch2osm.org/.jekyll-cache" do
+ mode "755"
+ owner "nobody"
+ group "nogroup"
end
-wordpress_plugin "switch2osm.org-wpml-translation-analytics" do
- plugin "wpml-translation-analytics"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-translation-analytics.git"
+execute "/srv/switch2osm.org/Gemfile" do
+ action :nothing
+ command "bundle install --deployment"
+ cwd "/srv/switch2osm.org"
+ user "root"
+ group "root"
+ notifies :run, "execute[/srv/switch2osm.org]"
end
-wordpress_plugin "switch2osm.org-wpml-translation-management" do
- plugin "wpml-translation-management"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-translation-management.git"
+execute "/srv/switch2osm.org" do
+ action :nothing
+ command "bundle exec jekyll build --trace --config _config.yml,_config_osm.yml"
+ cwd "/srv/switch2osm.org"
+ user "nobody"
+ group "nogroup"
end
-wordpress_plugin "switch2osm.org-wpml-xliff" do
- plugin "wpml-xliff"
- site "switch2osm.org"
- repository "https://chef.openstreetmap.org/wpml-xliff.git"
+ssl_certificate "switch2osm.org" do
+ domains ["switch2osm.org",
+ "www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"]
+ notifies :reload, "service[apache2]"
end
-template "/etc/cron.daily/switch2osm-backup" do
- source "backup.cron.erb"
- owner "root"
- group "root"
- mode 0o750
- variables :passwords => passwords
+apache_site "switch2osm.org" do
+ template "apache.erb"
+ directory "/srv/switch2osm.org/_site"
end