class Dory::Proxy

Public Class Methods

certs_arg() click to toggle source
# File lib/dory/proxy.rb, line 23
def self.certs_arg
  if certs_dir && !certs_dir.empty?
    "-v #{certs_dir}:/etc/nginx/certs"
  else
    ''
  end
end
certs_dir() click to toggle source
# File lib/dory/proxy.rb, line 19
def self.certs_dir
  Dory::Config.settings[:dory][:nginx_proxy][:ssl_certs_dir]
end
container_name() click to toggle source
# File lib/dory/proxy.rb, line 15
def self.container_name
  Dory::Config.settings[:dory][:nginx_proxy][:container_name]
end
dory_http_proxy_image_name() click to toggle source
# File lib/dory/proxy.rb, line 7
def self.dory_http_proxy_image_name
  setting = Dory::Config.settings[:dory][:nginx_proxy][:image]
  return setting if setting
  certs_dir && !certs_dir.empty? \
    ? 'codekitchen/dinghy-http-proxy:2.5.10' \
    : 'freedomben/dory-http-proxy:2.5.9.1'
end
http_port() click to toggle source
# File lib/dory/proxy.rb, line 41
def self.http_port
  Dory::Config.settings[:dory][:nginx_proxy][:port]
end
run_command() click to toggle source
# File lib/dory/proxy.rb, line 45
def self.run_command
  "docker run -d -p #{http_port}:80 #{self.tls_arg} #{self.certs_arg} "\
    "-v /var/run/docker.sock:/tmp/docker.sock -e " \
    "'CONTAINER_NAME=#{Shellwords.escape(self.container_name)}' --name " \
    "'#{Shellwords.escape(self.container_name)}' " \
    "#{Shellwords.escape(dory_http_proxy_image_name)}"
end
start_cmd() click to toggle source
# File lib/dory/proxy.rb, line 53
def self.start_cmd
  "docker start #{Shellwords.escape(self.container_name)}"
end
tls_arg() click to toggle source
# File lib/dory/proxy.rb, line 31
def self.tls_arg
  if [:tls_enabled, :ssl_enabled, :https_enabled].any? { |s|
      Dory::Config.settings[:dory][:nginx_proxy][s]
     }
    "-p #{Dory::Config.settings[:dory][:nginx_proxy][:tls_port]}:443"
  else
    ''
  end
end