summaryrefslogtreecommitdiff
path: root/modules/profiles/manifests/shiori.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/profiles/manifests/shiori.pp')
-rw-r--r--modules/profiles/manifests/shiori.pp46
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/profiles/manifests/shiori.pp b/modules/profiles/manifests/shiori.pp
new file mode 100644
index 0000000..df9b718
--- /dev/null
+++ b/modules/profiles/manifests/shiori.pp
@@ -0,0 +1,46 @@
+class profiles::shiori (
+ String $server_name,
+ Array[String] $group_members = [],
+ $port = 8080,
+) {
+
+ class { 'shiori':
+ port => $port,
+ }
+
+ group { 'shiori':
+ ensure => present,
+ members => $group_members,
+ }
+
+ include ::profiles::group_profile
+
+ file { '/etc/profile.d/group.d/shiori':
+ ensure => file,
+ content => "export SHIORI_DIR=${shiori::dir}\n",
+ }
+
+ include ::nginx
+
+ $certname = lookup('certname')
+
+ nginx::resource::server { $server_name:
+ ipv6_enable => true,
+ ipv6_listen_options => '',
+ ssl => true,
+ ssl_redirect => true,
+ ssl_cert => "/etc/letsencrypt/live/${certname}/fullchain.pem",
+ ssl_key => "/etc/letsencrypt/live/${certname}/privkey.pem",
+ www_root => $shiori::dir,
+ use_default_location => false,
+ }
+
+ nginx::resource::location { 'shiori /':
+ location => '/',
+ proxy => "http://[::]:$port",
+ index_files => [],
+ ssl => true,
+ ssl_only => true,
+ server => $server_name,
+ }
+}