diff --git a/.gitmodules b/.gitmodules index cec4d93..5fb5699 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "states/certificates/dehydrated/dehydrated-mythic-dns01"] path = states/certificates/dehydrated/dehydrated-mythic-dns01 url = https://github.com/mythic-beasts/dehydrated-mythic-dns01 +[submodule "states/gpodder/micro-gpodder-server"] + path = states/gpodder/micro-gpodder-server + url = https://github.com/bohwaz/micro-gpodder-server.git diff --git a/states/backup/hedwig_backup2l.conf b/states/backup/hedwig_backup2l.conf index 2f2d2f7..d943363 100644 --- a/states/backup/hedwig_backup2l.conf +++ b/states/backup/hedwig_backup2l.conf @@ -22,7 +22,7 @@ VOLNAME="all" # List of directories to make backups of. # All paths MUST be absolute and start with a '/'! -SRCLIST=(/etc /root /home /var/mail /usr/local /var/lib/wordpress) +SRCLIST=(/etc /root /home /var/mail /usr/local /var/lib/wordpress /srv) # The following expression specifies the files not to be archived. # See the find(1) man page for further info. It is discouraged to diff --git a/states/certificates/dehydrated/dnsapi.config.txt b/states/certificates/dehydrated/dnsapi.config.txt index 7920aac..ffa59c2 100644 --- a/states/certificates/dehydrated/dnsapi.config.txt +++ b/states/certificates/dehydrated/dnsapi.config.txt @@ -11,6 +11,7 @@ www.bear-cave.org.uk {{ keyid }} {{ secret }} lunch.org.uk {{ keyid }} {{ secret }} www.lunch.org.uk {{ keyid }} {{ secret }} git.lunch.org.uk {{ keyid }} {{ secret }} +gpodder.lunch.org.uk {{ keyid }} {{ secret }} hg.lunch.org.uk {{ keyid }} {{ secret }} jenkins.lunch.org.uk {{ keyid }} {{ secret }} lists.lunch.org.uk {{ keyid }} {{ secret }} diff --git a/states/certificates/dehydrated/domains.txt b/states/certificates/dehydrated/domains.txt index 9f9740e..1ba0b10 100644 --- a/states/certificates/dehydrated/domains.txt +++ b/states/certificates/dehydrated/domains.txt @@ -1,6 +1,7 @@ bear-cave.org.uk www.bear-cave.org.uk lunch.org.uk www.lunch.org.uk git.lunch.org.uk +gpodder.lunch.org.uk hg.lunch.org.uk jenkins.lunch.org.uk mail.lunch.org.uk webmail.lunch.org.uk diff --git a/states/gpodder/gpodder.lunch.org.uk.conf b/states/gpodder/gpodder.lunch.org.uk.conf new file mode 100644 index 0000000..4d53c8e --- /dev/null +++ b/states/gpodder/gpodder.lunch.org.uk.conf @@ -0,0 +1,45 @@ + + + + ServerName gpodder.lunch.org.uk + + ErrorLog /var/log/apache2/gpodder-error.log + CustomLog /var/log/apache2/gpodder-access.log combined + + RemoteIPProxyProtocol On + + DocumentRoot /srv/gpodder + + + Options FollowSymLinks + AllowOverride All + Order allow,deny + Allow from all + Require all granted + DirectoryIndex index.php + + + SSLEngine on + SSLCertificateFile /var/local/certificates/gpodder.lunch.org.uk/fullchain.pem + SSLCertificateKeyFile /var/local/certificates/gpodder.lunch.org.uk/privkey.pem + + + + + + ServerName gpodder.lunch.org.uk + + ErrorLog /var/log/apache2/gpodder-error.log + CustomLog /var/log/apache2/gpodder-access.log combined + + RemoteIPProxyProtocol On + + + # + # This redirects all accesses to the HTTPS version of the site. + # + RewriteEngine On + + RewriteRule ^/?(.*) https://gpodder.lunch.org.uk/$1 [R=301,L] + + diff --git a/states/gpodder/init.sls b/states/gpodder/init.sls new file mode 100644 index 0000000..1f964b9 --- /dev/null +++ b/states/gpodder/init.sls @@ -0,0 +1,34 @@ +gpodder: + pkg.installed: + - pkgs: + - php-sqlite3 + - libapache2-mod-php8.2 + +srv_gpodder_directory: + file.recurse: + - name: /srv/gpodder + - source: salt://gpodder/micro-gpodder-server/server + - user: www-data + - group: www-data + - dir_mode: '0755' + +gpodder_web: + file.managed: + - require: + - sls: apache + - sls: certificates/client + - names: + - /etc/apache2/sites-available/gpodder.lunch.org.uk.conf: + - source: salt://gpodder/gpodder.lunch.org.uk.conf + apache_module.enabled: + - name: php8.2 + apache_site.enabled: + - require: + - file: /etc/apache2/sites-available/gpodder.lunch.org.uk.conf + - name: gpodder.lunch.org.uk + service.running: + - name: apache2 + - reload: true + - watch: + - file: /etc/apache2/sites-available/gpodder.lunch.org.uk.conf + diff --git a/states/gpodder/micro-gpodder-server b/states/gpodder/micro-gpodder-server new file mode 160000 index 0000000..2a7d3ba --- /dev/null +++ b/states/gpodder/micro-gpodder-server @@ -0,0 +1 @@ +Subproject commit 2a7d3bab5dff46bc0db7b9316bb71c8733ae97b8 diff --git a/states/top.sls b/states/top.sls index fb5a7da..3d5394c 100644 --- a/states/top.sls +++ b/states/top.sls @@ -14,6 +14,7 @@ base: - lunch_website - havoc_website - cowboy_website + - gpodder 'scabbers.lunch.org.uk': - debian