Class: DockerNginxProxy::Nginx
- Inherits:
-
Object
- Object
- DockerNginxProxy::Nginx
- Defined in:
- lib/docker_nginx_proxy/nginx.rb
Instance Method Summary collapse
- #generate_proxy_config(mapping) ⇒ Object
- #generate_proxy_config_block(domain, port, docker_port) ⇒ Object
- #install_proxy(name, mapping) ⇒ Object
Instance Method Details
#generate_proxy_config(mapping) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/docker_nginx_proxy/nginx.rb', line 11 def generate_proxy_config(mapping) content = '' mapping.each do |domain_port, docker_port| domain, port = domain_port.split(':') port ||= 80 content += generate_proxy_config_block(domain, port, docker_port) end content end |
#generate_proxy_config_block(domain, port, docker_port) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/docker_nginx_proxy/nginx.rb', line 21 def generate_proxy_config_block(domain, port, docker_port) content = <<EOD server { listen {{port}}; server_name {{server_name}}; location / { proxy_pass localhost:{{target_port}}; } } EOD Mustache.render(content, :port => port, :server_name => domain, :target_port => docker_port) end |
#install_proxy(name, mapping) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/docker_nginx_proxy/nginx.rb', line 4 def install_proxy(name, mapping) content = generate_proxy_config(mapping) path = '/etc/nginx/sites-available/' + name puts content #File.write(path, content) end |