diff options
Diffstat (limited to 'modules/profiles')
-rw-r--r-- | modules/profiles/manifests/shiori.pp | 46 |
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, + } +} |