Compare commits
No commits in common. "eb6d63a5336934f3c0ded0e7cc866e684344574f" and "d0e2a1a494b7c772b97b37929d6fccacbd03c22d" have entirely different histories.
eb6d63a533
...
d0e2a1a494
@ -91,7 +91,8 @@ module Funko
|
||||
end
|
||||
|
||||
if env.params.query.fetch("format", "json") == "html"
|
||||
render "src/views/funkos.ecr" else
|
||||
render "src/views/funkos.ecr"
|
||||
else
|
||||
result.to_json
|
||||
end
|
||||
end
|
||||
|
@ -1,5 +1,4 @@
|
||||
require "docr"
|
||||
require "funko"
|
||||
require "kemal"
|
||||
|
||||
module Proxy
|
||||
|
18
src/funko.cr
18
src/funko.cr
@ -166,6 +166,7 @@ module Funko
|
||||
end
|
||||
|
||||
# Return a list of image IDs for this funko, most recent first
|
||||
# FIXME: use self.images and add filters
|
||||
def image_history
|
||||
docker_api = Docr::API.new(Docr::Client.new)
|
||||
begin
|
||||
@ -206,6 +207,23 @@ module Funko
|
||||
end
|
||||
end
|
||||
|
||||
# Start exited container with the newer image
|
||||
# or unpause paused container
|
||||
def start
|
||||
if self.exited?
|
||||
docker_api = Docr::API.new(Docr::Client.new)
|
||||
images = self.image_history
|
||||
exited = self.containers.select { |container|
|
||||
container.@state == "exited"
|
||||
}.sort! { |i, j|
|
||||
(images.index(j.@image_id) || 9999) <=> (images.index(i.@image_id) || 9999)
|
||||
}
|
||||
docker_api.containers.restart(exited[0].@id) unless exited.empty?
|
||||
elsif self.paused?
|
||||
self.unpause
|
||||
end
|
||||
end
|
||||
|
||||
# Stop container with the newer image
|
||||
def stop
|
||||
docker_api = Docr::API.new(Docr::Client.new)
|
||||
|
Loading…
Reference in New Issue
Block a user