class profiles::shiori ( String $server_name, Array[String] $group_members = [], Stdlib::Port $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 include ::profiles::certificate letsencrypt::domain { $server_name: cert_name => $profiles::certificate::cert_name, } nginx::resource::server { $server_name: ipv6_enable => true, ipv6_listen_options => '', www_root => $shiori::dir, use_default_location => false, access_log => absent, error_log => absent, * => letsencrypt::conf::nginx($server_name), } if $facts['letsencrypt_directory'][$server_name] { nginx::resource::location { 'shiori /': location => '/', proxy => "http://[::]:$port", index_files => [], ssl => true, ssl_only => true, server => $server_name, add_header => { 'Access-Control-Allow-Origin' => 'https://lysator.liu.se', } } } }