mirror of
https://github.com/fscotto/infra.git
synced 2026-10-03 13:29:58 +00:00
* Design gated Atlas iCloudPD migration target * Target Atlas iCloudPD photos to Photobook * Record isolated iCloudPD Photobook ACL validation * Record Aegis iCloudPD source audit gap * Verify iCloudPD backup source scope and Borg access * Record Atlas iCloudPD deployment gate checks * Pin iCloudPD photo file and directory modes * Validate inactive iCloudPD Quadlet on Atlas generator * Keep iCloudPD in Archive and reserve Photobook for Immich * Prepare guarded Aegis iCloudPD retirement * Declare inactive Atlas iCloudPD storage and Quadlet * Retire Aegis iCloudPD from desired state * Clear retired Aegis iCloudPD failed-unit state * Remove completed iCloudPD retirement tasks from Aegis * Record initial Atlas iCloudPD service start * Manage Atlas iCloudPD config from Vault * Fix Atlas iCloudPD traceroute startup and config drift * Use Atlas Vault key for iCloudPD Apple ID * Add HEIC decoding to Fedora desktops * Record completed iCloudPD ingestion and remaining recovery checks
23 lines
728 B
Django/Jinja
23 lines
728 B
Django/Jinja
# Managed by Ansible. No install target or automatic start.
|
|
[Unit]
|
|
Description=Atlas rootless iCloud Photos Downloader
|
|
RequiresMountsFor={{ atlas_icloudpd_state_dir }} {{ atlas_icloudpd_photos_dir }}
|
|
|
|
[Container]
|
|
ContainerName=atlas-icloudpd
|
|
Image={{ atlas_icloudpd_image }}
|
|
UserNS=keep-id:uid=1000,gid=1000
|
|
# The image initialises its unprivileged UID 1000 account as container root.
|
|
User=0
|
|
# Upstream launcher requires traceroute for its iCloud reachability check.
|
|
AddCapability=NET_RAW
|
|
Environment=TZ={{ atlas_icloudpd_timezone }}
|
|
Volume={{ atlas_icloudpd_photos_dir }}:/home/user/iCloud:z
|
|
Volume={{ atlas_icloudpd_config_dir }}:/config:Z
|
|
NoNewPrivileges=true
|
|
|
|
[Service]
|
|
Restart=on-failure
|
|
RestartSec=300
|
|
TimeoutStartSec=900
|