Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
555246f00e
|
||
|
|
f2f3711faa
|
||
|
|
9fc2c8d90b | ||
|
|
0564cb1242 | ||
|
|
1221d4e318 | ||
|
|
7d233c126b | ||
|
|
bac0fc2cdd
|
||
|
|
fabbbf6073 |
@@ -26,7 +26,7 @@ spec:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
# renovate: datasource=docker depName=fireflyiii/core
|
# renovate: datasource=docker depName=fireflyiii/core
|
||||||
tag: version-6.6.6
|
tag: version-6.7.1
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
seccompProfile:
|
seccompProfile:
|
||||||
|
|||||||
@@ -25,8 +25,10 @@ spec:
|
|||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
- |
|
- |
|
||||||
|
set -e
|
||||||
apk add --no-cache sqlite
|
apk add --no-cache sqlite
|
||||||
sqlite3 /db-local/grocy.db ".backup /backup/grocy.db"
|
sqlite3 "file:/db-local/grocy.db?mode=ro" ".backup /backup/grocy.db"
|
||||||
|
[ "$(sqlite3 /backup/grocy.db 'PRAGMA integrity_check')" = ok ]
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: db
|
- name: db
|
||||||
mountPath: /db-local
|
mountPath: /db-local
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ spec:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/immich-app/immich-server
|
repository: ghcr.io/immich-app/immich-server
|
||||||
tag: v3.2.0
|
tag: v3.2.2
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
|||||||
@@ -5,6 +5,11 @@
|
|||||||
# The volume is mounted read-write on purpose: jellyfin.db is in WAL mode, and
|
# The volume is mounted read-write on purpose: jellyfin.db is in WAL mode, and
|
||||||
# SQLite cannot open a WAL database from a read-only filesystem once Jellyfin has
|
# SQLite cannot open a WAL database from a read-only filesystem once Jellyfin has
|
||||||
# closed it and removed the -wal/-shm files (e.g. while scaled to zero).
|
# closed it and removed the -wal/-shm files (e.g. while scaled to zero).
|
||||||
|
# The connection itself is read-only (?mode=ro). A read-write connection that
|
||||||
|
# believes it is the last one checkpoints and deletes -wal/-shm on close; when
|
||||||
|
# Jellyfin had lost its POSIX locks this deleted them under the running server
|
||||||
|
# and corrupted jellyfin.db (2026-09-16). The copy is integrity-checked so a
|
||||||
|
# broken snapshot fails the job instead of landing in restic.
|
||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
kind: CronJob
|
kind: CronJob
|
||||||
metadata:
|
metadata:
|
||||||
@@ -34,7 +39,8 @@ spec:
|
|||||||
- |
|
- |
|
||||||
set -e
|
set -e
|
||||||
apk add --no-cache sqlite
|
apk add --no-cache sqlite
|
||||||
sqlite3 /db-local/jellyfin.db ".backup /backup/jellyfin.db"
|
sqlite3 "file:/db-local/jellyfin.db?mode=ro" ".backup /backup/jellyfin.db"
|
||||||
|
[ "$(sqlite3 /backup/jellyfin.db 'PRAGMA integrity_check')" = ok ]
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: db
|
- name: db
|
||||||
mountPath: /db-local
|
mountPath: /db-local
|
||||||
@@ -42,7 +48,7 @@ spec:
|
|||||||
mountPath: /backup
|
mountPath: /backup
|
||||||
containers:
|
containers:
|
||||||
- name: resticprofile
|
- name: resticprofile
|
||||||
image: creativeprojects/resticprofile:0.33.1
|
image: creativeprojects/resticprofile:0.32.0
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
@@ -84,7 +90,8 @@ spec:
|
|||||||
# media files and the metadata providers.
|
# media files and the metadata providers.
|
||||||
# Intro Skipper keeps its results in two live WAL-mode SQLite databases, so they
|
# Intro Skipper keeps its results in two live WAL-mode SQLite databases, so they
|
||||||
# are snapshotted with sqlite3 ".backup" rather than copied as files (which could
|
# are snapshotted with sqlite3 ".backup" rather than copied as files (which could
|
||||||
# capture a torn page mid-write). Read-write mount for the same reason as above.
|
# capture a torn page mid-write). Read-write mount and read-only connection for
|
||||||
|
# the same reasons as above.
|
||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
kind: CronJob
|
kind: CronJob
|
||||||
metadata:
|
metadata:
|
||||||
@@ -116,7 +123,8 @@ spec:
|
|||||||
apk add --no-cache sqlite
|
apk add --no-cache sqlite
|
||||||
mkdir -p /backup/introskipper
|
mkdir -p /backup/introskipper
|
||||||
for db in introskipper.db introskipper-cache.db; do
|
for db in introskipper.db introskipper-cache.db; do
|
||||||
sqlite3 "/config/data/introskipper/$db" ".backup /backup/introskipper/$db"
|
sqlite3 "file:/config/data/introskipper/$db?mode=ro" ".backup /backup/introskipper/$db"
|
||||||
|
[ "$(sqlite3 "/backup/introskipper/$db" 'PRAGMA integrity_check')" = ok ]
|
||||||
done
|
done
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config
|
- name: config
|
||||||
@@ -125,7 +133,7 @@ spec:
|
|||||||
mountPath: /backup
|
mountPath: /backup
|
||||||
containers:
|
containers:
|
||||||
- name: resticprofile
|
- name: resticprofile
|
||||||
image: creativeprojects/resticprofile:0.33.1
|
image: creativeprojects/resticprofile:0.32.0
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ spec:
|
|||||||
mountPath: /db-local
|
mountPath: /db-local
|
||||||
containers:
|
containers:
|
||||||
- name: jellyfin
|
- name: jellyfin
|
||||||
image: jellyfin/jellyfin:12.0
|
image: jellyfin/jellyfin:12.1
|
||||||
env:
|
env:
|
||||||
- name: JELLYFIN_PublishedServerUrl
|
- name: JELLYFIN_PublishedServerUrl
|
||||||
value: https://${JELLYFIN_HOST}
|
value: https://${JELLYFIN_HOST}
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ spec:
|
|||||||
mountPath: /backup
|
mountPath: /backup
|
||||||
containers:
|
containers:
|
||||||
- name: resticprofile
|
- name: resticprofile
|
||||||
image: creativeprojects/resticprofile:0.33.1
|
image: creativeprojects/resticprofile:0.32.0
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
|
|||||||
@@ -4,19 +4,19 @@ metadata:
|
|||||||
name: podsync-config
|
name: podsync-config
|
||||||
namespace: podsync
|
namespace: podsync
|
||||||
data:
|
data:
|
||||||
config.toml: ENC[AES256_GCM,data:4C8zSvWM9kMxII0RU9EhfUvQGgZMJTtMUOVM9LGunfpkmZQjH3IrbsytgzZBbw7ha7IHjhLxvdXleHNXbc2ZCbphp/lhIrqOLsa2f8J/P/ppyJVLafEt+bQB4lVXVauhy72bV/9RZYIgCatDYMR7+sJVWGyl1f6ZnJ3S+nVXROXPmlxlDhJnCwPUVj+OVq7OKnDjspZpnlZizr5tRzMMJPVuVTDi9cKDFHnoL2x7iINyzvJk8Wb4N+k481sY7isJ5BJyTno3RNKhcykL8cfZQunQ1mlBodvZiSph1gAxY3H3oljb2uB0Zf4J3FkpSCPkIQBpGec+NiQAjPRk5zot0VCZVvtAEL1UfctvhcnhbMwNQbEfdvewFXbIF6lwuatI/gd2+ICuas19n6luzwAfw+WGOHtEDbsIccl6l9lfphid7TotKs992LqBVL3BuCoGM4kqe/8QZc+iaw2VbjGxJhim9T0NnvvPlj8WJ/hnOy+e4wLmzKZcryUNjqQdpzlPr/CFwlnKgU26zjyb6438vf0mC06Mp1AHCoqznZkLPOeJC7YeEybf0T2Dm1/7e0iBFVFVSX3zCUQ0fS1vCyulszUUNsJtAsgg/KkqDSiqT6YWWsUaDZ5qbkcIsQNBFcQVX3Owm7x2tcppi9xYOCFfIDxAx0ugx6kKTf/4XfZ4yIRyUhIETny3P/4WoHCzIz6Hd65RaxbIwbyRz8U8mFbsDtk3o+7c/6UsX1uEFJjoFFlrOcy9ID1um8LXGxicB6VdrtNfwWiFq9Vwf+eHdKFMC5fSqtuSu/yDHKC8w2eb98IG9k0rf+4NHzRlxYPhCUs8YJsWJYpXC4tK8fPWLg7zuByf8nnUQ405Ga8ZvcuDQ9xDWFtMg8JJoZ1wODHIJiovIxNlZQmuxGrrpI5+S4CZKVjEVgD7GRXn3ewDVMk8Tdaf1iq0x09cxj52rgf3VxeOiVolrNJgzygePvYSxb30nsMpQSmmLCGCp5viJ0FhH6MuccJK9wmzJiEYuC5OkhGHaQLkAUDdroZTBDek/AQGzdu8J+NL+Qk3KuJ1ZQs1xgzpB74vqAdjAUUNzZlDw5hejv7enjstTjU1usy88Y8Lf1AORHiGcLzxpwjdeQQFsTuBqPVCHs7Nt9xYYk5nbv8wXM8Z7gk/+SMJayTOq5PDfLZNd530M1rMBIZ1HSBvYsAQvGVd91xjoMvMs04VCoGZcFZuurukx9Rh6U/5pm5roIXkmWHFp/2S3HfnBqEbQYbqrV5jXGQs6yIEQcRT91UY7csdnDL9fzlR37T21cOXfo2CrCzZyaTfGh+y6GusC9xg9qaBihno+PxOV++h80Nd5MsYSXIjaXTX8CioKaCMCToEXHzWUUsr+tHopMR0fG+QJAiZ2Fa7c5dYAU2EKkyfziuhGPSxHBxrc9W/0VjfB10Vf+iFVGCP2JEm99G7esQNh9kszSkyY2wOycUllqQO3eT9dHsSFdswq/bvKgkvQz0oOmJcubE1jvUn7YW8CF6KABlM5L/hi+ntcNc2YWLWqaNghOQsjCbpiqjdp6pejiM9g+3NbC7O2Z8Nf0zwgka7FRQXaJfl+FHFb3X2Qk4VGiinoK+EVCQX4CCD9EYK065jkdTpqDDESy1n4SUMIkE2iA==,iv:cpa826ZkBPSc/ZX4P6sJ5kgDXMfryd+d3UAsbfb7764=,tag:V3FERsM9ZfNO8TbHEsf86w==,type:str]
|
config.toml: ENC[AES256_GCM,data:wtu6BTx+GvAyBdaHi1MCCP7UYqaNKaA3X1zdDD3DnmqpO/mWzaAkkWdVRxFu3+UHQdlhVUyHvrqTyiQhefiUSWh7wbTBXHB8fYaU/t3lFmWc23SPWKWgzx8CRita1SsRG4iwV0zrK+AWAymujg22VXZfQL1sgMvGYCnPvNTrTWr1/UdJ6Ow3eVjrbL4TYGbkKbKSrZCAOmyBubYPEYLGPfYq7JJ4rmSCDdPx9GUA2Fon4+blGnOWLnEaEkL9gNv0wqkh0NYiz4I81O1WFBF4ljJzwAW/m293vaCFDhAhwXj8OdjLYRP9o8EMw/ijNY1AIysW79k0UU5rKS0YxWi54zKEgqLWopySGTCNCYh+mx2yS0ENzBOQnVFzdegLkDj5zy+clwA+5vukzBBz42Zz/UusOzPDAc48gxTZWU5/1lErz3Gxs9DgGvINpva0ZfWewoRDaoQqc109wuzQbY5KVKhUq9gflvZbk0LPN7FyroAFHye4pQtuR97N1ltAkqwNZii+qBtPToNwrt9YBwmQ7J22Cd34cGhwEJns1XnG29Kxd/+G15TETlOq+jNci0+j63TWPyY3qq8u+PDBmRTk61lIEA1sYAhFZm9+yjOXipy/W+F0IvIJaBeoC3dl4oamuiU3PN+iFOwu6aWid6AlOXAzRGIS1wKdCmXcxk7GTaBWcEyZa5/zgrSjSOjwjF7tjw3fHXFwyLAP10fCEn0vMTXmBOTvWLeYhmod/1iikX20HWnhUOnI+uG03W4tqaSMkRWhUPtThsZHScUK7hTDrKGNWV5AQaTRM/Flcr3iKs9kxnBXCtES+konZnPBGem14mj2nUNulQJCLQgv95Kvvse1yMY+FgOh8YHEPoFPUyvJC0TKWx54xWzQpxMEZxwMnuIQ/uh3nkSjBYOCy+9sc2J1uyiCASp6h3tokQ4HQKFE/h1T7m3+3eGHbrqOlyKwlosiWP5cZsLZA9x31bbJmnlg995ew4b4rqcwbDKwVxKxCU/JMuH0SRtxTsd26rcKfvQK0Y0XbnKmiUgva8l9O2gVOWhbaxz6y+HixxdQ5P7MQqQT3mwDA8POICdjsS2UqLi9EggTGtguh/IM32K2OfYUqdp7O1tPu3X14M47oLUFey4qDFjUd6GQaiY4JcfgsUzRAyJXK9CZQA+y3UhywvIRBjMyB+g5dLX2LwIf3H5U3q+GyKh9RTH2Q8nbLb3nyIQAysgR8HxkmKPmLzT9bKyNJ0EweQCiBmOiNLENeekSGbn9T4OFlgDS7Ejnp6f/QpNRC+djg3+YCrcCt4QtWYlmoIAnFeYaNNg+1l03Ds3PH2rSbhnp6ALv53VzD9/EObraMHwfOSBojH/cmGxzmC6CJWNqu21IY1BNfwXoFgRR6mGHF9RcuZpzDozbNkYuc33OPu3e6VXWBFd/bWiBv3xvF9Z+C2wjGAZL5bzLm9pO39tmoC+2tpPMgOew61Jsdqj+3AGqkPrcCOE9T8rp/wKchVWTD1C0Na0WFKd8Vo/70FDVnlyxlLRKR51Vn6FdRmdAfCPLvid9r5VO3eBOZALtRN1YHlNmlaZ5bYgVOI0W4T0bmksU4NebeWgilejfnAQf0c7E+GrQFSkQ5BBsY+dCftn7rx0OxzO6RrfTXZ52FGVPH34dg5m4hpsmm0Uo3f/yUG/M2r/O3vTWk8pGYb/awFocx77949MNv8q3auPL18fdak9BQhWIoAqvZcriL4VRs5mondZCYQYgDciKu5zgSZ3WwwH9zj/aMKAMJBi3BY49xQTEJJFfkiByCo6i5z1xUWijfz7Nw8fe+KdiWAv35hAPCVOSqWgIpxF4ezSj03Z84AcB7V/OTxsRbo8DaL//bIF0ySyzrQ0cZgnhGEWMWb6TsxPlRdCJxznumh6ERG6T1/Ph8e9BIiFUxX1d1xlLZ/bR8L4lI+NNnRO4kodgJ5AQmbIPKDnKM1461JZsQhMak5OTXKw=,iv:D0pfCl6jlUiapY4NjEFirPCCbYGteJW2QODKyHhen3g=,tag:wX+qJJOmOdPZlX/61w1ONA==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- enc: |
|
- enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2QTBUbnNBcGFhYjNiNGRG
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVFQxWG40NEVzcVBVTmp0
|
||||||
T3JqdFY0dTIzWDA3OGNVUkoreVhONXVDeFVVCkR0amlYMThyejlPaWlPSkdGL0xy
|
bXJrWlRmdW0vK0JaaytiamNrVGM0dG9lQkYwCldjSVQ3akhlbTNITUxvTEE1Z2pY
|
||||||
YUN3VEhGajJoQjNiRVV5ckw0cE1JaTAKLS0tIDFSWnpWWVFxQ0VVY2U4bUFtTWVk
|
WGFjQTBoT2w0aXFreFdwcVlVWlBhRGcKLS0tIDBYRnZaK2FkL0YwRkZZb2loRmQx
|
||||||
bkg3K01kWFl4ZWZuK21KRTIxUEhDUEEKPGWzrJlyZGNOsvrVhWKw56y8iAwrqDQK
|
VkZOR2g4bWJQTlRudVoyU01KT3FVREkKgqZ3NJtwtWgYThwdOxrerzl0KlaS5Wve
|
||||||
OWJYIq0gt9NWfNBao8UpiuKJXU4SX01hW4fa1OEfGSDJAjNNxGpFVA==
|
QxiwAtIrK+zXp/JL0q4UEVs5duO8VnrlS8kc1LvxR+uDt9iVpAWyeg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
recipient: age1zffnskvuezntkk703a0pyxsd5m8vx2hm33dr47wdfy8mn4fdw4sqgw0jgc
|
recipient: age1zffnskvuezntkk703a0pyxsd5m8vx2hm33dr47wdfy8mn4fdw4sqgw0jgc
|
||||||
encrypted_regex: ^(data|stringData|email)$
|
encrypted_regex: ^(data|stringData|email)$
|
||||||
lastmodified: "2026-06-22T19:19:33Z"
|
lastmodified: "2026-09-14T19:11:41Z"
|
||||||
mac: ENC[AES256_GCM,data:Rd0q5r8DA3I7rNNbv9t/5c1LD0Dm1897rGvqhi4l91g9KpSCxQFu0+z6cUH7yhLCopFSWCezQHnBYEGFEkESl04DYkAAj/+ntLSnAhfHijbZshCdHhzr+bxMInajVbDMJTs0DXm2moFMUpcpVn3EHC3UTr/kj/PDfsK9oXugIW0=,iv:ZmlXvPONTD2w+Agh5QqYr8DMMbAeM/QQuWRsFcrw728=,tag:IRoRIxkcQQQuLbG+ccTxuA==,type:str]
|
mac: ENC[AES256_GCM,data:VNpakJzcI+mTE7xy7Q6nC6jSgIS+E/a/ZZCYv4591HFyg6wSrQAULsEoMjPyxop8Q15wzZlaZUS2oRnF1KCNqAruKn8OcoLFdJNe5V7//bZJtCG5/z7H5pqg0eXXbt7YWo62ViFWm2tw9iV9kRp7Ty6n2YUDazvJqYicKBQtZb8=,iv:dV4Bcwq61OkDbNVz0d6UQDdz2hCdUu6tGVTtJecXRQY=,tag:AINZ0L6E9xtFrQI46AUaKA==,type:str]
|
||||||
version: 3.13.1
|
version: 3.13.3
|
||||||
|
|||||||
Reference in New Issue
Block a user