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, } }