Self-hosted photo and video library with face recognition and smart search
CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside
| Cloud | Version | Software price | Last build | |
|---|---|---|---|---|
| AWS Marketplace EC2 AMI · all commercial regions | 3.3.5 | $0.05/hr Recommended instance: t3.large · 5-day free trial | 2026-10-23 | Listing ↗ |
| Azure Marketplace VM image · plan payg-gen2 · Gen2 | 3.2.4 | $0.028/vCPU/hr Recommended VM: Standard_D2s_v3 | 2026-10-03 | Listing ↗ |
Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.
| Base OS | Ubuntu 24.04 LTS |
| Hardening | CIS Level 1, Ubuntu 24.04 LTS (tailored) |
| License | AGPL-3.0 |
| Upstream | Immich |
| Machine-readable | product.json · catalog.json |
Immich is an open-source self-hosted photo and video backup platform - a private, no-trust-required alternative to Google Photos and iCloud. The stack runs as four docker containers: a Node and Python server that exposes the REST API and web UI on TCP 2283, a Python machine-learning container running CLIP for natural-language smart search and a face-detection model for grouping people, a PostgreSQL 14 database with the VectorChord and pgvecto.rs extensions for embedding-based queries, and a Redis-compatible cache (Valkey 9) for session and queue state. The mobile apps for iOS and Android perform background auto-upload of new photos and videos, full original-quality with EXIF and GPS metadata preserved. Operators get shared albums, public links, multi-user libraries with quotas, partner sharing, external libraries pointing at existing on-disk folders, RAW support, and HEIC and HEVC transcoding. AGPL-3.0 license, no vendor lock-in. The core differentiator vs. SaaS alternatives is sovereignty: photos, embeddings, face data, and the ML inference all stay on your own AWS account - none of it transits a third-party cloud.
Security hardening:
OS hardening (CIS Level 1):
Compliance artifacts:
Credentials are generated at first boot and written to /root/immich-credentials.txt.
# subscribe once on the AWS Marketplace listing, then:
aws ec2 run-instances \
--image-id resolve:ssm:/aws/service/marketplace/prod-upweq7pqd3mok/latest \
--instance-type t3.large --key-name my-key --security-group-ids sg-xxxxxxxx# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer immich --plan payg-gen2
az vm create -g my-rg -n immich --size Standard_D2s_v3 \
--image lynxroute:immich:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
The most recent release with notes; the full release history is in product.json.