- Add per-job `schedule` (systemd OnCalendar) overrides and document the global `backup_schedule` / `backup_randomized_delay` knobs. - Run `restic unlock` before backup/forget/check so a run killed mid-flight no longer wedges every later run on a stale exclusive lock. - Publish backup manifests for fdroid, immich and unifi, so the inventory decides only where (repositories, retention, schedule). - Document that `read_data_subset` re-reads on every job targeting the repository, so a large repository wants a small fraction.
Immich Role
This Ansible role deploys Immich - a high performance self-hosted photo and video management solution - using Podman with k8s files.
Prerequisites
The podman, postgres, valkey, and nginx roles must have been applied to the host first (they are shared services, intentionally not declared in meta/main.yml to keep immich deploys fast). Order them before immich in the playbook for fresh installs.
Role Variables
See defaults/main.yml for all available variables and their default values.
Required Passwords
Both passwords must be set in your inventory (min 12 characters):
immich_postgres_password- PostgreSQL database passwordimmich_valkey_password- Valkey/Redis password
External Libraries
Mount host paths read-only into the server container via immich_external_libraries,
then add the in-container mount_path in the Immich UI
(Administration → External Libraries). The {{ ansible_user }} running the rootless
pod must have read access on the host path.
Troubleshooting
Valkey ACL Issues
Test Immich user credentials:
valkey-cli
AUTH immich <immich_valkey_password>
SELECT 0
PING
# Should return PONG
# Try a restricted command (should fail)
FLUSHDB
# Should return: (error) NOPERM
Going further: Immich GitHub Discussion #19727