feat: added site-podman role

This commit is contained in:
Jef Roosens 2025-07-06 12:59:36 +02:00
parent 9fdff493b2
commit 6b93b3f7ed
Signed by: Jef Roosens
GPG key ID: 21FD3D77D56BAF49
10 changed files with 164 additions and 34 deletions

View file

@ -0,0 +1,3 @@
rustybever.be www.rustybever.be {
reverse_proxy 127.0.0.1:8021
}

View file

@ -0,0 +1,16 @@
# vim: ft=systemd
[Unit]
Description=The Rusty Bever backend
[Container]
Image=docker.io/chewingbever/site:latest
EnvironmentFile=/etc/site/site.env
PublishPort=127.0.0.1:8021:3000
Volume=/mnt/data1/site/data:/data
[Service]
Restart=always
[Install]
WantedBy=default.target

View file

@ -0,0 +1,12 @@
#!/usr/bin/env bash
data_dir='/mnt/data1/site/data'
snapshot_dir="${data_dir}.snapshot"
# Read-only snapshot for atomic backup
btrfs subvolume snapshot -r "$data_dir" "$snapshot_dir" || exit $?
/usr/local/bin/restic backup "$snapshot_dir"
# Always remove snapshot subvolume, even if restic fails
btrfs subvolume delete "$snapshot_dir"