gxg-server/install.rb
2024-06-11 14:03:03 -07:00

38 lines
1.8 KiB
Ruby
Executable file

#!/usr/bin/env jruby
require(::File.expand_path((::File.dirname(__FILE__) << "/System/Libraries/gxg/gxg/bootstrap.rb")))
puts "Found Environment: #{::GxG::BOOTSTRAP[:environment].inspect}"
# Platform Deps for native Gem builds:
if [:ubuntu, :debian, :mint, :linux, :linuxmint].include?(::GxG::BOOTSTRAP[:environment])
if RUBY_ENGINE == "jruby"
system("sudo apt-get install libpostgresql-jdbc-java libzmq5 libzmq3-dev")
else
system("sudo apt-get install build-essential libssl-dev ruby2.5-dev libsqlite3-dev libmysqlclient-dev libpq-dev libzmq5 libzmq3-dev")
end
end
system("sudo jgem install #{(::File.dirname(__FILE__) << "/seeds/mimemagic-0.3.4.gem")}")
system("sudo jgem install #{(::File.dirname(__FILE__) << "/seeds/gxg-framework-current.gem")}")
if RUBY_ENGINE == "jruby"
# Load base requirements:
requirements = []
requirements.push({:requirement => "spoon", :gem => "spoon"})
requirements.push({:requirement => "psych", :gem => "psych"})
requirements.push({:requirement => "rackup", :gem => "rackup"})
requirements.push({:requirement => "sinatra", :gem => "sinatra"})
requirements.push({:requirement => "sinatra-contrib", :gem => "sinatra-contrib"})
requirements.push({:requirement => "webrick", :gem => "webrick"})
requirements.push({:requirement => "webrocket", :gem => "webrocket"})
# Installation
requirements.each do |the_record|
if the_record[:gem]
system("sudo jgem install #{the_record[:gem]}")
end
end
system("sudo cp #{(::File.dirname(__FILE__) << '/seeds/gxg.service')} /etc/systemd/system/gxg.service")
system("sudo systemctl daemon-reload")
system("sudo systemctl enable gxg")
system("sudo systemctl daemon-reload")
puts "Now type 'sudo -u www-data ./setup.rb' to complete the installation."
else
# no-op
end