class Pygmy::Traefik
Public Class Methods
connect()
click to toggle source
# File lib/pygmy/traefik.rb, line 27 def self.connect unless self.connected? unless Sh.run_command(self.connect_cmd).success? raise RuntimeError.new( "Failed to connect #{self.container_name} to #{self.network_name}. Command #{self.connect_cmd} failed" ) end end self.connected? end
connect_cmd()
click to toggle source
# File lib/pygmy/traefik.rb, line 19 def self.connect_cmd "docker network connect #{self.network_name} #{self.container_name}" end
connected?()
click to toggle source
# File lib/pygmy/traefik.rb, line 23 def self.connected? !!(Pygmy::DockerNetwork.inspect_containers(self.network_name) =~ /#{self.container_name}/) end
container_name()
click to toggle source
# File lib/pygmy/traefik.rb, line 11 def self.container_name 'traefik.docker.amazee.io' end
image_name()
click to toggle source
# File lib/pygmy/traefik.rb, line 7 def self.image_name 'containous/traefik' end
network_name()
click to toggle source
# File lib/pygmy/traefik.rb, line 15 def self.network_name 'amazeeio-network' end
run_cmd()
click to toggle source
# File lib/pygmy/traefik.rb, line 38 def self.run_cmd "docker run -d " \ "-p 80:80 -p 8080:8080 -p 443:443 " \ "--restart always " \ "--volume=/var/run/docker.sock:/var/run/docker.sock " \ "--name=#{Shellwords.escape(self.container_name)} " \ "--label traefik.frontend.rule=Host:#{Shellwords.escape(self.container_name)} " \ "#{Shellwords.escape(self.image_name)} " \ "--api --docker " \ '--docker.network=amazeeio-network ' \ "--docker.domain=docker.amazee.io" end