added NodeJS recipe
This commit is contained in:
		| @ -1,52 +0,0 @@ | |||||||
| [ |  | ||||||
| 	'apache2', |  | ||||||
| 	'apache2-dev', |  | ||||||
| 	'libapache2-mod-wsgi-py3', |  | ||||||
| ].each do |pkg| |  | ||||||
| 	apt_package pkg |  | ||||||
| end |  | ||||||
|  |  | ||||||
| file '/etc/apache2/sites-enabled/000-default.conf' do |  | ||||||
| 	action :delete |  | ||||||
| end |  | ||||||
|  |  | ||||||
| execute 'enable apache mods' do |  | ||||||
| 	command 'a2enmod expires' |  | ||||||
| end |  | ||||||
|  |  | ||||||
| if node['web']['do_ssl'] |  | ||||||
| 	apt_repository 'certbot apt repo' do |  | ||||||
| 	  uri 'ppa:certbot/certbot' |  | ||||||
| 	  repo_name 'ppa-certbot' |  | ||||||
| 	  deb_src true |  | ||||||
| 	  action :add |  | ||||||
| 	end |  | ||||||
|  |  | ||||||
| 	apt_update |  | ||||||
| 	 |  | ||||||
| 	[ |  | ||||||
| 		'software-properties-common', |  | ||||||
| 		'certbot', |  | ||||||
| 		'python-certbot-apache', |  | ||||||
| 	].each do |pkg| |  | ||||||
| 		apt_package pkg |  | ||||||
| 	end |  | ||||||
|  |  | ||||||
| 	execute 'apache certbot' do |  | ||||||
| 		command "sudo certbot certonly --standalone -d #{node['app']['domain']} --non-interactive --agree-tos --email #{node['web']['admin_email']}" |  | ||||||
| 	end |  | ||||||
| end |  | ||||||
|  |  | ||||||
| if node['web']['socket.io'] |  | ||||||
| 	execute 'enable apache mods' do |  | ||||||
| 		command 'a2enmod rewrite; a2enmod proxy_wstunnel; a2enmod proxy_http' |  | ||||||
| 	end |  | ||||||
| end |  | ||||||
|  |  | ||||||
| template '/etc/apache2/sites-enabled/000-server.conf' do |  | ||||||
| 	source 'apache/vhost.conf.erb' |  | ||||||
| end |  | ||||||
|  |  | ||||||
| systemd_unit 'apache2.service' do |  | ||||||
| 	action :restart |  | ||||||
| end |  | ||||||
							
								
								
									
										45
									
								
								recipes/nodejs.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								recipes/nodejs.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | |||||||
|  | version = { | ||||||
|  | 	8 => { | ||||||
|  | 		'version' => '8.16.0', | ||||||
|  | 		'url' => 'https://nodejs.org/dist/latest-v8.x/node-v8.16.0-linux-x64.tar.gz', | ||||||
|  | 		'checksum' => 'b391450e0fead11f61f119ed26c713180cfe64b363cd945bac229130dfab64fa' | ||||||
|  | 	}, | ||||||
|  | 	10 => { | ||||||
|  | 		'version' => '10.15.3', | ||||||
|  | 		'url' => 'https://nodejs.org/dist/latest-v10.x/node-v10.15.3-linux-x64.tar.gz', | ||||||
|  | 		'checksum' => '6c35b85a7cd4188ab7578354277b2b2ca43eacc864a2a16b3669753ec2369d52' | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | unless node['node']['working-dir'][0] == '/' | ||||||
|  | 	node.override['node']['working-dir'] = "#{node['working-dir']}/#{node['node']['working-dir']}" | ||||||
|  | end | ||||||
|  |  | ||||||
|  | unless node['node']['version'] | ||||||
|  | 	node.default['node']['version'] = 8 | ||||||
|  | end | ||||||
|  |  | ||||||
|  | unless version.key?(node['node']['version']) | ||||||
|  | 	raise <<~EOH | ||||||
|  | 		Unsupported NodeJS version #{node['node']['version']}. | ||||||
|  | 		Supports #{version.keys}. | ||||||
|  | 	EOH | ||||||
|  | end | ||||||
|  |  | ||||||
|  | set_version = version[node['node']['version']] | ||||||
|  |  | ||||||
|  | node.default['nodejs']['install_method'] = 'binary' | ||||||
|  | node.default['nodejs']['version'] = set_version['version'] | ||||||
|  | node.default['nodejs']['binary']['url'] = set_version['url'] | ||||||
|  | node.default['nodejs']['binary']['checksum'] = set_version['checksum'] | ||||||
|  |  | ||||||
|  | include_recipe "nodejs" | ||||||
|  |  | ||||||
|  | execute 'Install NPM package.json' do | ||||||
|  | 	cwd node['node']['working-dir'] | ||||||
|  | 	command "npm --prefix \"#{node['node']['working-dir']}\" install" | ||||||
|  | end | ||||||
|  |  | ||||||
|  | directory "/var/log/node/#{node['app']['name']}" do | ||||||
|  | 	recursive true | ||||||
|  | end | ||||||
		Reference in New Issue
	
	Block a user