environment/lib/nginx.rb

59 lines
1.2 KiB
Ruby
Raw Normal View History

2025-08-01 20:11:48 +02:00
require 'erb'
class NGINXProxy
class << self
2025-08-06 08:00:01 +02:00
attr_accessor :domain, :port, :service, :user, :willcard
def willcard(value = nil)
@willcard = value unless value.nil?
@willcard
end
2025-08-01 20:11:48 +02:00
def domain(value = nil)
@domain = value unless value.nil?
@domain
end
2025-08-05 16:07:34 +00:00
def user(value = nil)
@user = value unless value.nil?
@user
end
2025-08-01 20:11:48 +02:00
def port(value = nil)
@port = value unless value.nil?
@port
end
2025-08-05 16:07:34 +00:00
# This is name of the daemon that will be installed
# This is also master name user as user if not provided
2025-08-01 20:11:48 +02:00
def service(value = nil)
@service = value unless value.nil?
@service
end
2025-08-06 08:00:01 +02:00
## bundle exec rackup -s puma -b unix:///run/user/1000/http.sock
2025-08-01 20:11:48 +02:00
def generate
2025-08-06 08:00:01 +02:00
template_path = File.join(__dir__, 'data', 'templates', 'nginx', 'proxy.erb')
template = File.read(template_path)
2025-08-05 16:07:34 +00:00
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
2025-08-01 20:11:48 +02:00
end
end
end