40 lines
		
	
	
		
			896 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			896 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#
 | 
						|
# Cookbook:: kosmos_website
 | 
						|
# Recipe:: default
 | 
						|
#
 | 
						|
 | 
						|
include_recipe "kosmos-nginx"
 | 
						|
include_recipe "git"
 | 
						|
 | 
						|
domain = node["kosmos_website"]["domain"]
 | 
						|
 | 
						|
nginx_certbot_site domain
 | 
						|
 | 
						|
directory "/var/www/#{domain}/site" do
 | 
						|
  user node["nginx"]["user"]
 | 
						|
  group node["nginx"]["group"]
 | 
						|
  mode "0755"
 | 
						|
end
 | 
						|
 | 
						|
git "/var/www/#{domain}/site" do
 | 
						|
  user node["nginx"]["user"]
 | 
						|
  group node["nginx"]["group"]
 | 
						|
  repository node["kosmos_website"]["repo"]
 | 
						|
  revision node["kosmos_website"]["revision"]
 | 
						|
  action :sync
 | 
						|
end
 | 
						|
 | 
						|
template "#{node["nginx"]["dir"]}/sites-available/#{domain}" do
 | 
						|
  source "nginx_conf_website.erb"
 | 
						|
  owner node["nginx"]["user"]
 | 
						|
  mode 0640
 | 
						|
  variables domain: domain,
 | 
						|
            ssl_cert: "/etc/letsencrypt/live/#{domain}/fullchain.pem",
 | 
						|
            ssl_key:  "/etc/letsencrypt/live/#{domain}/privkey.pem"
 | 
						|
  notifies :reload, "service[nginx]", :delayed
 | 
						|
end
 | 
						|
 | 
						|
nginx_site domain do
 | 
						|
  action :enable
 | 
						|
end
 |