Class: DockerNginxProxy::Nginx

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_nginx_proxy/nginx.rb

Instance Method Summary collapse

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