homelab-nomad/services/backups/jobs/photoprism.hcl

55 lines
1.4 KiB
HCL
Raw Normal View History

2022-11-15 17:19:55 +00:00
job "photoprism" {
schedule = "10 * * * *"
config {
repo = "rclone::ftp,env_auth:/nomad/photoprism"
passphrase = env("BACKUP_PASSPHRASE")
}
task "Create local photoprism dir" {
pre_script {
on_backup = "mkdir -p /local/photoprism"
}
}
task "Dump database" {
mysql "Dump database" {
2022-11-15 17:19:55 +00:00
hostname = env("MYSQL_HOST")
port = env("MYSQL_PORT")
database = "photoprism"
username = env("MYSQL_USER")
password = env("MYSQL_PASSWORD")
no_tablespaces = true
dump_to = "/local/photoprism/dump.sql"
}
}
backup {
paths = [
"/local/photoprism",
# NOTE: Right now the cache and sidecar files are stored in the task local
# storage and not in a volume that can be backed up. This was done to allow
# Photoprism to be moved between hosts. If this directory becomes large and
# costly to move between hosts or regenerate, then it may be worth putting it
# on a host volume so it can be backed up as well. Possibly once I get NFS
# shares running from the Proxmox host available to the VMs for faster shared
# storage.
"/data/moxy/photoprism-storage",
]
2022-11-15 17:19:55 +00:00
# Because path is absolute
restore_opts {
Target = "/"
}
}
forget {
KeepLast = 2
2023-01-07 00:08:16 +00:00
KeepHourly = 24
KeepDaily = 30
KeepWeekly = 8
KeepMonthly = 6
KeepYearly = 2
2022-11-15 17:19:55 +00:00
Prune = true
}
}