Immich

High performance self-hosted photo and video management solution.

Accessing Immich

  • The first user to register will be the admin user.
  • The admin user will be able to add other users to the application.
  • To register for the admin user, access the web application at https://<IP> and click on the Getting Started button.
  • If a self-signed certificate warning appears, simply accept it to proceed.

Important Files and Directories

  • Installation directory: /root/immich
  • Environment variables generated by the installer: /root/immich/.env
  • Docker Compose configuration: /root/activepieces/docker-compose.yml
  • Local SSL certificate and private key: /etc/nginx/ssl/fullchain.crt & /etc/nginx/ssl/privkey.key
  • Nginx reverse proxy configuration: /etc/nginx/sites-available/immich.conf
  • Nginx activation symlink: /etc/nginx/sites-enabled/immich.conf

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:

vim /etc/nginx/sites-available/immich.conf

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Run the following command to generate a valid Let’s Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Replace SSL paths in Nginx config (TLS section):

vim /etc/apache2/sites-available/immich.conf
# Before:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Restart Nginx to apply the changes:

systemctl restart nginx

7. Open your browser and visit: https://yourdomain.com

Application Details