summaryrefslogtreecommitdiff
path: root/gemfeed/examples/conf/babylon5
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed/examples/conf/babylon5')
-rwxr-xr-xgemfeed/examples/conf/babylon5/backup-start64
-rwxr-xr-xgemfeed/examples/conf/babylon5/docker-start-anki-sync-server4
-rwxr-xr-xgemfeed/examples/conf/babylon5/docker-start-audiobookshelf12
-rwxr-xr-xgemfeed/examples/conf/babylon5/docker-start-nextcloud-aio15
-rwxr-xr-xgemfeed/examples/conf/babylon5/docker-start-vaultwarden10
-rwxr-xr-xgemfeed/examples/conf/babylon5/docker-start-wallabag4
6 files changed, 109 insertions, 0 deletions
diff --git a/gemfeed/examples/conf/babylon5/backup-start b/gemfeed/examples/conf/babylon5/backup-start
new file mode 100755
index 00000000..c616ba09
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/backup-start
@@ -0,0 +1,64 @@
+#!/usr/bin/bash
+
+set -euf -o pipefail
+declare -r DATE=$(date +%d)
+
+ensure_directory () {
+ local -r dir="$1"; shift
+
+ if [ ! -d "$dir" ]; then
+ mkdir "$dir"
+ chmod 700 "$dir"
+ fi
+}
+
+get_docker_id () {
+ local -r image="$1"; shift
+ docker ps | awk -v image="$image" '$2 == image { print $1 }'
+}
+
+backup_wallabag () {
+ ensure_directory /opt/backup/wallabag
+ local -r container="$(get_docker_id 'wallabag/wallabag')"
+ docker stop "$container"
+ tar -hcvpf /opt/backup/wallabag/wallabag.tar.gz.tmp /opt/wallabag &&
+ mv /opt/backup/wallabag/wallabag.tar.gz.tmp /opt/backup/wallabag/wallabag-$DATE.tar.gz &&
+ touch /opt/backup/wallabag.lastrun
+ docker start "$container"
+}
+
+backup_vaultwarden () {
+ ensure_directory /opt/backup/vaultwarden
+ local -r container="$(get_docker_id 'vaultwarden/server:latest')"
+ docker stop "$container"
+ tar -hcvpf /opt/backup/vaultwarden/vaultwarden.tar.gz.tmp /opt/vaultwarden &&
+ mv /opt/backup/vaultwarden/vaultwarden.tar.gz.tmp /opt/backup/vaultwarden/vaultwarden-$DATE.tar.gz &&
+ touch /opt/backup/vaultwarden.lastrun
+ docker start "$container"
+}
+
+backup_anki () {
+ ensure_directory /opt/backup/anki-sync-server
+ local -r container="$(get_docker_id 'anki-sync-server:latest')"
+ docker stop "$container"
+ tar -hcvpf /opt/backup/anki-sync-server/anki-sync-server.tar.gz.tmp /opt/anki-sync-server &&
+ mv /opt/backup/anki-sync-server/anki-sync-server.tar.gz.tmp \
+ /opt/backup/anki-sync-server/anki-sync-server-$DATE.tar.gz &&
+ touch /opt/backup/anki-sync-server.lastrun
+ docker start "$container"
+}
+
+backup_audiobookshelf_meta () {
+ ensure_directory /opt/backup/audiobookshelf
+ rsync -avz -delete /opt/audiobookshelf/metadata/backups/ /opt/backup/audiobookshelf
+}
+
+backup_wallabag
+backup_vaultwarden
+backup_anki
+backup_audiobookshelf_meta
+
+chgrp -R backup /opt/backup/
+find -L /opt/backup -mindepth 2 -type f -exec chmod 640 "{}" \;
+find -L /opt/backup -mindepth 2 -type d -exec chmod 750 "{}" \;
+chmod 755 /opt/backup/nextcloud/borg
diff --git a/gemfeed/examples/conf/babylon5/docker-start-anki-sync-server b/gemfeed/examples/conf/babylon5/docker-start-anki-sync-server
new file mode 100755
index 00000000..a6b3930a
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/docker-start-anki-sync-server
@@ -0,0 +1,4 @@
+#!/usr/bin/bash
+
+set -x
+docker run -d --name anki-sync-server --user nobody --restart always -v /opt/anki-sync-server/data:/data -p 83:27701 anki-sync-server:latest
diff --git a/gemfeed/examples/conf/babylon5/docker-start-audiobookshelf b/gemfeed/examples/conf/babylon5/docker-start-audiobookshelf
new file mode 100755
index 00000000..404c787c
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/docker-start-audiobookshelf
@@ -0,0 +1,12 @@
+#!/usr/bin/bash
+
+set -x
+
+docker pull ghcr.io/advplyr/audiobookshelf
+docker run -d \
+ -p 13378:80 \
+ -v /opt/audiobookshelf/config:/config \
+ -v /opt/audiobookshelf/metadata:/metadata \
+ -v /opt/audiobookshelf/audiobooks:/audiobooks \
+ -v /opt/audiobookshelf/podcasts:/podcasts \
+ --name audiobookshelf ghcr.io/advplyr/audiobookshelf
diff --git a/gemfeed/examples/conf/babylon5/docker-start-nextcloud-aio b/gemfeed/examples/conf/babylon5/docker-start-nextcloud-aio
new file mode 100755
index 00000000..0a66afb7
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/docker-start-nextcloud-aio
@@ -0,0 +1,15 @@
+#!/usr/bin/bash
+
+set -x
+
+sudo docker run \
+ --sig-proxy=false \
+ --name nextcloud-aio-mastercontainer \
+ --restart always \
+ --publish 8080:8080 \
+ -e APACHE_PORT=82 \
+ -e APACHE_IP_BINDING=0.0.0.0 \
+ -e NEXTCLOUD_DATADIR=/opt/nextcloud/ncdata \
+ --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
+ --volume /var/run/docker.sock:/var/run/docker.sock:ro \
+ nextcloud/all-in-one:latest
diff --git a/gemfeed/examples/conf/babylon5/docker-start-vaultwarden b/gemfeed/examples/conf/babylon5/docker-start-vaultwarden
new file mode 100755
index 00000000..15e1f93a
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/docker-start-vaultwarden
@@ -0,0 +1,10 @@
+#!/usr/bin/bash
+
+set -x
+
+# docker pull vaultwarden/server:latest
+docker run -d \
+ --restart always \
+ --name vaultwarden \
+ --volume /opt/vaultwarden/data/:/data/ \
+ --publish 90:80 vaultwarden/server:latest
diff --git a/gemfeed/examples/conf/babylon5/docker-start-wallabag b/gemfeed/examples/conf/babylon5/docker-start-wallabag
new file mode 100755
index 00000000..e0656d55
--- /dev/null
+++ b/gemfeed/examples/conf/babylon5/docker-start-wallabag
@@ -0,0 +1,4 @@
+#!/usr/bin/bash
+
+set -x
+docker run -d --restart always -v /opt/wallabag/data:/var/www/wallabag/data -v /opt/wallabag/images:/var/www/wallabag/web/assets/images -p 81:80 -e "SYMFONY__ENV__DOMAIN_NAME=https://bag.buetow.org" wallabag/wallabag