# Immich Generated on 31 Dec 2025 from [the Immich catalog page](https://marketplace.digitalocean.com/apps/immich) Self-hosted photo and video management solution ## Software Included | Package | Version | License | |---|---|---| | [Immich](https://immich.app) | release | [AGPL 3 on GitHub](https://github.com/immich-app/immich/blob/main/LICENSE) | | Docker CE | 28.4.0 | [Apache 2 on GitHub](https://github.com/docker/docker/blob/master/LICENSE) | | Docker Compose | 2.39.2 | [Apache 2 on GitHub](https://github.com/docker/compose/blob/master/LICENSE) | ## Creating an App using the Control Panel Click the **Deploy to DigitalOcean** button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account. [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?image=futo-immich) ## Creating an App using the API In addition to creating a Droplet from the Immich 1-Click App using the control panel, you can also use the [DigitalOcean API](https://docs.digitalocean.com/reference/api). As an example, to create a 4GB Immich Droplet in the SFO2 region, you can use the following `curl` command. You need to either save your [API access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) to an environment variable or substitute it in the command below. ```shell curl -X POST -H 'Content-Type: application/json' \ -H 'Authorization: Bearer '$TOKEN'' -d \ '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"futo-immich"}' \ "https://api.digitalocean.com/v2/droplets" ``` ## Getting Started After Deploying Immich ## Immich First-Time Setup Instructions ## Initial Deployment Upon deployment, Immich requires several minutes to fully initialize all services. Please allow adequate time for the complete startup process before attempting to access the application. ## Accessing Your Immich Instance Once the initialization process is complete, access your Immich instance using your server’s IP address: ***https://your\_droplet\_public\_ipv4*** Click `Allow` / `Continue` on any security warning while accessing Immich via the IP Address (Follow the Certificate Configuration steps below to avoid this warning.) ## System Architecture Immich is deployed as Docker containers running under the dedicated `immich` system user. To perform administrative tasks, [login](https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/index.html.md) and switch to this user account: ***ssh root@your\_droplet\_public\_ipv4*** ``` su - immich ``` ## Configuration Management ### Application Directory The Immich application files are located in the following directory: ``` cd /home/immich/immich-app/ ``` ### Environment Configuration Application settings can be modified through the environment configuration file: ``` nano /home/immich/immich-app/.env ``` ### Applying Configuration Changes After making changes to the configuration, restart the Immich services to apply the modifications: ``` cd /home/immich/immich-app/ ; docker compose down ; docker compose pull --policy always --quiet ; docker compose up -d ``` ### Process Management Scripts Additional system scripts and utilities for Immich management are located in: ``` /opt/immich/ ``` ## SSL/TLS Certificate Configuration ### Automatic Certificate Provisioning When pointing a domain name to your server’s IP address, Caddy will automatically provision and configure SSL certificates through Let’s Encrypt. To enable automatic certificate management: 1. Configure your domain’s DNS records to point to your server’s IP address 2. Access your Immich instance using your domain: ``` https://yourdomain.com/ ``` The certificate provisioning process will complete automatically upon first access, refresh the page if this takes more than 60 seconds.