Create a discourse cookbook that can be wrapped

It makes it possible to serve multiple Discord instances to different
hosts from a single nginx load balancer

Right now we run one for Kosmos and one for remoteStorage
This commit is contained in:
Greg Karékinian
2022-10-11 17:58:22 +02:00
parent e90b265f7e
commit 378fee85ec
30 changed files with 537 additions and 84 deletions

View File

@@ -3,43 +3,4 @@
# Recipe:: default
#
include_recipe "kosmos-dirsrv::hostsfile"
package "docker-compose"
deploy_path = "/opt/discourse"
repo = "https://github.com/discourse/discourse_docker"
git deploy_path do
repository repo
revision "main"
end
systemd_unit "discourse.service" do
content({Unit: {
Description: "discourse service with docker compose",
Requires: "docker.service",
After: "docker.service",
},
Service: {
Type: "oneshot",
RemainAfterExit: "true",
WorkingDirectory: deploy_path,
Environment: "SUPERVISED=true",
ExecStart: "#{deploy_path}/launcher start app",
ExecStop: "#{deploy_path}/launcher stop app",
},
Install: {
WantedBy: "multi-user.target"
}})
action [:create, :enable]
end
include_recipe 'firewall'
firewall_rule 'discourse' do
port [3001]
source "10.1.1.0/24"
protocol :tcp
command :allow
end
include_recipe 'discourse'