55 lines
1.4 KiB
HCL
55 lines
1.4 KiB
HCL
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" {
|
|
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",
|
|
]
|
|
# Because path is absolute
|
|
restore_opts {
|
|
Target = "/"
|
|
}
|
|
}
|
|
|
|
forget {
|
|
KeepLast = 2
|
|
KeepHourly = 24
|
|
KeepDaily = 30
|
|
KeepWeekly = 8
|
|
KeepMonthly = 6
|
|
KeepYearly = 2
|
|
Prune = true
|
|
}
|
|
}
|