Back to templates
Immich icon

Deploy Immich on Sealos

High performance self-hosted photo and video management solution. Store, organize, and share your memories with machine learning-powered features like face recognition and smart search.

Tools
Deploy Immich in a few clicks from the Sealos App Store.Run a self-hosted open-source service on Kubernetes-backed infrastructure.Get automatic HTTPS, routing, and resource management from Sealos.Avoid manual YAML while keeping control of the deployed workload.

Why deploy on Sealos

Sealos makes deploying any app effortless, secure, and production-ready. From one-click launch to ongoing operations, we handle the heavy lifting so you can focus on what matters.

One-Click Deploy
Sealos logo
Compute
Networking
Storage
Security
Observability
Your Application is Live

One-Click Deployment

Deploy any app template in seconds. No compose setup, manual configure, and go live.

Managed Kubernetes Reliability

Built on Sealos Managed Kubernetes for high availability, auto-scaling, and self-healing by default.

Automatic HTTPS & Security

Every deployment includes a secure domain with automatic SSL. We handle certificates and text protection for you.

Persistent Storage

Attach persistent volumes with ease. Your data stays safe, durable, and always accessible.

Scale when needed

Adjust resources as your app grows, no downtime required.

You Get the Whole Stack

Sealos provisions and connects every resource your application needs. Everything is ready to use.

One-click, fully provisionedSecure by defaultProduction ready

App Service

Your application is running and ready to serve requests.

Public HTTPS URL

Secure, global endpoint to access your application.

Database

Managed database instance for your application.

Persistent Volume

Durable storage for uploads and application data.

Environment Variables

Configuration and secrets injected securely into your app.

Logs & Metrics

Centralized logs and basic metrics are enabled.

README

README.md

Deploy and Host Immich on Sealos

Immich is a self-hosted photo and video management platform for backing up, organizing, searching, and sharing personal media. This template deploys Immich with PostgreSQL, Redis, persistent media storage, and optional machine learning on Sealos Cloud.

Immich Screenshot

About Hosting Immich

Immich runs as a web application that provides a browser UI, mobile app sync endpoints, background media processing, and smart library features. The Sealos template provisions the application server, PostgreSQL 16.4 with pgvector, Redis 7.2.7, persistent upload storage, and an optional machine learning service.

The application server stores photos and videos on a persistent volume mounted at /usr/src/app/upload. PostgreSQL stores metadata, users, albums, jobs, and vector indexes, while Redis coordinates background jobs and cache data. When machine learning is enabled, a separate Immich ML service provides face recognition, object detection, and smart search support.

Common Use Cases

  • Personal Photo Backup: Sync photos and videos from mobile devices to a private server.
  • Family Media Library: Organize shared albums, people, places, and timelines in one web UI.
  • Private Smart Search: Use local machine learning for face recognition and semantic media search.
  • Self-Hosted Google Photos Alternative: Keep media and metadata under your own Sealos-managed deployment.

Dependencies for Immich Hosting

The Sealos template includes all required runtime dependencies for a single-node Immich deployment:

  • Immich Server v2.7.5: Web UI, API, background processing, and mobile sync endpoint.
  • Immich Machine Learning v2.7.5: Optional ML service for face recognition and smart search.
  • PostgreSQL 16.4: KubeBlocks-managed PostgreSQL with the pgvector extension enabled.
  • Redis 7.2.7: KubeBlocks-managed Redis for queue and cache coordination.
  • Persistent Volumes: Media upload storage, ML cache storage, PostgreSQL data, and Redis data.

Deployment Dependencies

Implementation Details

Architecture Components:

This template deploys the following services:

  • Immich Server: StatefulSet serving the web UI and API on port 2283.
  • Immich Machine Learning: Optional StatefulSet serving ML requests on port 3003.
  • PostgreSQL: KubeBlocks PostgreSQL 16.4 cluster with the immich database and vector extensions.
  • Redis: KubeBlocks Redis 7.2.7 cluster used by Immich job queues and cache.
  • Ingress and App Link: Sealos-managed HTTPS endpoint for browser and mobile app access.

Configuration:

  • enable_machine_learning controls whether the Immich ML service is deployed.
  • The server uses IMMICH_MACHINE_LEARNING_URL to reach the ML service when ML is enabled.
  • PostgreSQL is initialized idempotently with the immich database and required extensions.
  • Uploaded media persists on /usr/src/app/upload; back up this volume together with PostgreSQL.

License Information:

Immich is distributed under the GNU Affero General Public License v3.0. This Sealos template follows the license of the templates repository.

Why Deploy Immich on Sealos?

Sealos is an AI-assisted Cloud Operating System built on Kubernetes that unifies deployment, networking, storage, and lifecycle management. By deploying Immich on Sealos, you get:

  • One-Click Deployment: Deploy Immich, PostgreSQL, Redis, storage, and HTTPS routing from one template.
  • Persistent Storage Included: Keep media uploads, model cache, database data, and Redis data across restarts.
  • Kubernetes Foundation: Run Immich on managed Kubernetes without writing Kubernetes manifests by hand.
  • Easy Customization: Adjust resources, storage, environment variables, and scaling from Canvas resource cards or the AI dialog.
  • Instant Public Access: Get a Sealos-managed HTTPS URL after deployment completes.
  • Pay-as-You-Go Resources: Start with tested resource limits and scale as your media library grows.

Deployment Guide

  1. Open the Immich template and click Deploy Now.
  2. Configure the parameters in the popup dialog:
    • enable_machine_learning: keep true for face recognition and smart search, or set false for a lighter deployment.
  3. Wait for deployment to complete. The full stack usually needs several minutes because PostgreSQL, Redis, and the app server must initialize in order.
  4. Access your application via the provided URL:
    • Immich Web UI: open the generated Sealos URL, for example https://<your-app-host>.<your-sealos-domain>.
  5. For later changes, open the deployment Canvas and describe your requirements in the AI dialog, or click the relevant resource cards to modify resources, storage, or environment variables.

First Login and Registration

Immich does not ship with a default username or password. On a fresh deployment, open the web UI and complete the Getting Started flow; the first user you register becomes the administrator.

After the admin account is created, sign in with that email and password. Additional users can be invited or created from the Immich administration settings according to your access policy.

Configuration

After deployment, you can configure Immich through:

  • Immich Administration UI: Manage users, libraries, jobs, storage template settings, and server preferences.
  • Sealos AI Dialog: Describe desired changes such as resource increases or environment-variable updates.
  • Sealos Resource Cards: Adjust StatefulSet resources, storage size, Ingress settings, or database resources.
  • Mobile Apps: Use the generated Sealos URL as the server endpoint in the official Immich mobile app.

Scaling

Start with the template defaults, then scale based on library size and feature usage:

  1. Open the Canvas for your Immich deployment.
  2. Click the Immich server, ML service, PostgreSQL, or Redis resource card.
  3. Increase CPU, memory, storage, or replica settings as needed.
  4. Apply the changes and wait for the resources to roll out.

Large libraries and ML-heavy workloads need more memory and storage. Always back up PostgreSQL and the upload volume before major upgrades or storage changes.

Troubleshooting

The web page is not ready immediately

Immich depends on PostgreSQL and Redis. If the page is temporarily unavailable right after deployment, wait until the PostgreSQL, Redis, and Immich server pods are ready, then refresh the generated URL.

First login asks for account creation

This is expected for a fresh Immich deployment. Register the first account in the Getting Started flow; that account becomes the administrator.

Uploads or machine learning jobs are slow

Increase Immich server or ML service CPU and memory from the Sealos Canvas. Large video uploads, thumbnail generation, face recognition, and smart search indexing can be resource-intensive.

Getting Help

Additional Resources

License

This Sealos template is provided under the templates repository license. Immich itself is licensed under the GNU Affero General Public License v3.0.

Related templates

Explore more production-ready templates.

More

Ready to Stop Configuring and
Start Creating?

Get started for free. No credit card required.

Play