58 lines
1.2 KiB
Ruby
58 lines
1.2 KiB
Ruby
require 'erb'
|
|
|
|
|
|
class NGINXProxy
|
|
class << self
|
|
attr_accessor :domain, :port, :service, :user, :willcard
|
|
|
|
def willcard(value = nil)
|
|
@willcard = value unless value.nil?
|
|
@willcard
|
|
end
|
|
|
|
def domain(value = nil)
|
|
@domain = value unless value.nil?
|
|
@domain
|
|
end
|
|
|
|
def user(value = nil)
|
|
@user = value unless value.nil?
|
|
@user
|
|
end
|
|
|
|
def port(value = nil)
|
|
@port = value unless value.nil?
|
|
@port
|
|
end
|
|
|
|
# This is name of the daemon that will be installed
|
|
# This is also master name user as user if not provided
|
|
def service(value = nil)
|
|
@service = value unless value.nil?
|
|
@service
|
|
end
|
|
|
|
## bundle exec rackup -s puma -b unix:///run/user/1000/http.sock
|
|
|
|
def generate
|
|
template_path = File.join(__dir__, 'data', 'templates', 'nginx', 'proxy.erb')
|
|
template = File.read(template_path)
|
|
template = ERB.new(template)
|
|
template.result(binding)
|
|
end
|
|
|
|
def available_path
|
|
"/etc/nginx/sites-available/#{service}.#{domain}"
|
|
end
|
|
|
|
def enabled_path
|
|
"/etc/nginx/sites-available/#{service}.#{domain}"
|
|
end
|
|
|
|
def install
|
|
config = generate
|
|
File.write
|
|
end
|
|
end
|
|
end
|
|
|