From 67a994fa220f080aaa916ebc9b989e889b9d53b3 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 30 Dec 2018 01:02:30 -0200 Subject: Working setup --- manifests/init.pp | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) (limited to 'manifests/init.pp') diff --git a/manifests/init.pp b/manifests/init.pp index 704e90d..dfd361b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,2 +1,86 @@ +# See https://airsonic.github.io/docs/install/war-standalone/ class airsonic { + package { [ + 'default-jre', + ]: + ensure => present, + } + + group { "airsonic": + ensure => present, + allowdupe => false, + } + + user { "airsonic": + ensure => present, + allowdupe => false, + shell => '/bin/false', + gid => 'airsonic', + home => '/var/lib/airsonic', + require => Group['airsonic'], + } + + file { [ + '/var/lib/airsonic', + ]: + ensure => directory, + owner => 'airsonic', + group => 'airsonic', + mode => '0750', + require => User['airsonic'], + } + + file { '/usr/local/sbin/airsonic-download': + ensure => present, + owner => root, + group => root, + mode => '0755', + source => 'puppet:///modules/airsonic/airsonic-download', + } + + exec { 'airsonic-download': + #command => '/usr/bin/wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war --output-document=/var/lib/airsonic/airsonic.war', + command => '/usr/local/sbin/airsonic-download', + creates => '/var/lib/airsonic/airsonic.war', + user => root, + require => File['/var/lib/airsonic', '/usr/local/sbin/airsonic-download'], + } + + file { '/etc/default/airsonic': + ensure => present, + owner => 'airsonic', + group => 'airsonic', + mode => '0644', + source => [ + 'puppet:///modules/site_airsonic/airsonic.conf', + 'puppet:///modules/airsonic/airsonic.conf', + ], + notify => Service['airsonic'], + } + + file { '/etc/systemd/system/airsonic.service': + ensure => present, + owner => root, + group => root, + mode => '0644', + source => 'puppet:///modules/airsonic/airsonic.service', + notify => Exec['systemctl-enable-airsonic'], + } + + exec { 'systemctl-enable-airsonic': + command => '/bin/systemctl daemon-reload && /bin/systemctl enable airsonic', + require => File['/etc/systemd/system/airsonic.service'], + user => root, + refreshonly => true, + } + + service { 'airsonic': + ensure => running, + enable => true, + require => [ + File['/var/lib/airsonic', '/etc/default/airsonic', '/etc/systemd/system/airsonic.service', ], + Exec['airsonic-download', 'systemctl-enable-airsonic'], + Package['default-jre'], + ], + } } -- cgit v1.2.3