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



12
13
14
15
16
17
18
19
20
# File 'lib/docker_nginx_proxy/nginx.rb', line 12

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



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/docker_nginx_proxy/nginx.rb', line 22

def generate_proxy_config_block(domain, port, docker_port)
  content = "server {\n  listen {{port}};\n  server_name {{server_name}};\n\n  location / {\nproxy_pass localhost:{{target_port}};\n  }\n}\n"
  Mustache.render(content, :port => port, :server_name => domain, :target_port => docker_port)
end

#install_proxy(name, mapping) ⇒ Object



4
5
6
7
8
9
10
# 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 " create #{path}"
  File.write(path, content)
  exec('service nginx restart')
end