git "/srv/community.openstreetmap.org/docker" do
action :sync
repository "https://github.com/discourse/discourse_docker.git"
- # Revision pin not possible as launch wrapper automatically updates git repo.
- revision "main"
+ # DANGER launch wrapper automatically updates git repo if rebuild method used: https://github.com/discourse/discourse_docker/blob/107ffb40fe8b1ea40e00814468db974a4f3f8e8f/launcher#L799
+ revision "b345430a822d6275573f3d82f1ad2e2b5fa1e0b1"
depth 1
user "root"
group "root"
notifies :run, "execute[discourse_container_data_start]", :immediately # noop if site up
notifies :run, "execute[discourse_container_web_only_bootstrap]", :immediately # site up but runs in parallel. Slow
notifies :run, "execute[discourse_container_web_only_destroy]", :immediately # site down
- notifies :run, "execute[discourse_container_data_rebuild]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_destroy]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_bootstrap]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_start]", :immediately # site down
notifies :run, "execute[discourse_container_web_only_start]", :immediately # site restore
end
notify_group "discourse_container_new_data" do
notifies :run, "execute[discourse_container_web_only_destroy]", :immediately # site down
- notifies :run, "execute[discourse_container_data_rebuild]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_destroy]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_bootstrap]", :immediately # site down
+ notifies :run, "execute[discourse_container_data_start]", :immediately # site down
notifies :run, "execute[discourse_container_web_only_start]", :immediately # site restore
end
notify_group "discourse_container_new_mail_receiver" do
- notifies :run, "execute[discourse_container_mail_receiver_rebuild]", :immediately
+ notifies :run, "execute[discourse_container_mail_receiver_destroy]", :immediately
+ notifies :run, "execute[discourse_container_mail_receiver_bootstrap]", :immediately
+ notifies :run, "execute[discourse_container_mail_receiver_start]", :immediately
end
# Attempt at a failsafe to ensure all containers are running
notifies :run, "execute[discourse_container_mail_receiver_start]", :delayed
end
-execute "discourse_container_data_start" do
+execute "discourse_container_data_bootstrap" do
action :nothing
- command "./launcher start data"
+ command "./launcher bootstrap data"
+ cwd "/srv/community.openstreetmap.org/docker/"
+ user "root"
+ group "root"
+end
+
+execute "discourse_container_data_destroy" do
+ action :nothing
+ command "./launcher destroy data"
cwd "/srv/community.openstreetmap.org/docker/"
user "root"
group "root"
end
-execute "discourse_container_data_rebuild" do
+execute "discourse_container_data_start" do
action :nothing
- command "./launcher rebuild data"
+ command "./launcher start data"
cwd "/srv/community.openstreetmap.org/docker/"
user "root"
group "root"
group "root"
end
-# Rebuild: Stop Destroy Bootstap Start
-execute "discourse_container_mail_receiver_rebuild" do
+execute "discourse_container_mail_receiver_bootstrap" do
+ action :nothing
+ command "./launcher bootstrap mail-receiver"
+ cwd "/srv/community.openstreetmap.org/docker/"
+ user "root"
+ group "root"
+end
+
+execute "discourse_container_mail_receiver_destroy" do
action :nothing
- command "./launcher rebuild mail-receiver"
+ command "./launcher destroy mail-receiver"
cwd "/srv/community.openstreetmap.org/docker/"
user "root"
group "root"
image container_image
volume :"/store/imagery" => "/store/imagery",
:"/srv/imagery/sockets" => "/sockets"
- environment :BIND => "unix:/sockets/titiler.sock",
- :WORKERS_PER_CORE => 1,
- :GDAL_CACHEMAX => 200,
+ environment :GDAL_CACHEMAX => 200,
:GDAL_BAND_BLOCK_CACHE => "HASHSET",
:GDAL_DISABLE_READDIR_ON_OPEN => "EMPTY_DIR",
:GDAL_INGESTED_BYTES_AT_OPEN => 32768,
:VSI_CACHE_SIZE => 5000000,
:TITILER_API_ROOT_PATH => "/api/v1/titiler",
:FORWARDED_ALLOW_IPS => "*" # https://docs.gunicorn.org/en/latest/settings.html#forwarded-allow-ips
+ command "gunicorn -k uvicorn.workers.UvicornWorker titiler.application.main:app --bind unix:/sockets/titiler.sock --workers #{node.cpu_cores}"
end
systemd_service "titiler-restart" do
property :ports, Hash, :default => {}
property :environment, Hash, :default => {}
property :volume, Hash, :default => {}
+property :command, String, :default => ""
action :create do
systemd_service new_resource.service do
notify_access "all"
environment "PODMAN_SYSTEMD_UNIT" => "%n"
exec_start_pre "/bin/rm --force %t/%n.ctr-id"
- exec_start "/usr/bin/podman run --cidfile=%t/%n.ctr-id --cgroups=no-conmon --userns=auto --label=io.containers.autoupdate=registry --pids-limit=-1 #{publish_options} #{environment_options} #{volume_options} --rm --sdnotify=conmon --detach --replace --name=%N #{new_resource.image}"
+ exec_start "/usr/bin/podman run --cidfile=%t/%n.ctr-id --cgroups=no-conmon "\
+ "--userns=auto --label=io.containers.autoupdate=registry "\
+ "--pids-limit=-1 #{publish_options} #{environment_options} "\
+ "#{volume_options} --rm --sdnotify=conmon --detach --replace "\
+ "--name=%N #{new_resource.image} #{new_resource.command}"
exec_stop "/usr/bin/podman stop --ignore --time=10 --cidfile=%t/%n.ctr-id"
exec_stop_post "/usr/bin/podman rm --force --ignore --cidfile=%t/%n.ctr-id"
timeout_start_sec 180