added NodeJS recipe
This commit is contained in:
parent
51d5d75fc0
commit
ebb0b2ddbd
@ -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
|
Loading…
x
Reference in New Issue
Block a user