
Managing and protecting our personal photos and videos has become an essential priority in the digital age.. Services like Google Photos have set the trend, but control over our data and privacy have been at the center of the debate, driving the popularity of open source alternatives like ImmichMany Linux users are looking to implement Immich on their systems to enjoy a secure, private, and fully self-managed environment for their digital memories.
In this article, you will find all the necessary information to install, configure, and get the most out of Immich on Linux, based on the most up-to-date and effective methods and tips: from using Snap packages to deploying with Docker/Podman, to practical recommendations for the secure and efficient maintenance of your private media gallery. If you're concerned about security, ease of use, and scalability, here's a resource designed just for you.
What is Immich and what sets it apart?
Immich introduces himself as A free and open-source alternative to Google Photos, designed for users who want full control over their media files and personal data. Both the server software and the mobile app are under active development on GitHub, ensuring constant improvements and a community committed to transparency.
What really sets Immich apart is not just his open approach, but a list of features designed to meet the most demanding needs:
- Efficient uploading and viewing of videos and images, with the ability to automatically copy when opening the app.
- Duplicate prevention and selective backup by album.
- Multi-user support and shared albums.
- Metadata visualization (EXIF, maps) and advanced search by information, objects, or faces using AI.
- Download content to local devices, LivePhoto integration, and MotionPhoto playback.
- RAW support and 360-degree photo viewing.
- Facial recognition, automatic grouping, and personalized memories.
- Administrative features, API Key management, and OAuth support.
- Folder-structured viewing, read-only gallery, favorites, global maps, and much more.
Immich puts you in control of a multimedia platform comparable to, and even superior to, many commercial options, tailored to the preferences of the advanced Linux user.
Installation Methods: Snap and Docker
There are mainly two alternatives to deploy Immich on a Linux distribution: via Snap or through containers with Docker/Podman. Each option has its advantages and peculiarities, so it's advisable to choose the one that best suits your experience and needs.
Quick installation with Snap
One of the most direct and convenient methods for users of Ubuntu and related distributions is to use the Snap package from Immich Distribution, maintained by the community. This package facilitates installation and maintenance by encapsulating all the necessary environment:
- Snap includes all of Immich's software, offering a ready-to-use experience with a simple command.
- Customization is limited compared to manual setup, but it's ideal for those seeking simplicity and reliability in public or home servers.
- It includes non-intrusive auxiliary tools, which can be ignored if not useful.
- This is a community project, independent of Immich's main development; primary support is managed via GitHub.
To install Immich using Snap, follow these basic steps (applicable for Ubuntu 22.04 LTS and derivatives. Other distros will require the use of their package manager):
- Update your system's package list to make sure everything is up to date:
sudo apt update && sudo apt upgrade
- Verify that Snap is correctly installed and updated:
snap --version
If missing, install it:
sudo apt install snapd
- Refresh Snap before installing:
sudo snap refresh
- Install Immich Distribution from Snap:
sudo snap install immich-distribution
When finished, access the administration panel from http://[IP-de-tu-servidor]:3000The initial setup is very simple: you'll just need to create the first administrator user.
Advanced deployment with Docker or Podman
For greater control and flexibility, Docker and Podman are the preferred route for most Linux enthusiasts.This system allows you to customize routes, resources, and underlying storage, while also facilitating future migrations.
Immich's team maintains an archive docker-compose.yml preconfigured for easy startup:
- Download the compose file directly from the repository:
curl -LO https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
- Get the sample .env file, essential for defining routes, database user and password, stack version, etc.:
curl -L -o .env https://github.com/immich-app/immich/releases/latest/download/example.env
- Modify the variables
UPLOAD_LOCATIONyDB_DATA_LOCATIONin the .env to set the directories where the photos and database will be saved. - On systems with SELinux active, it is necessary to add the option
:zon mounted volumes to enforce appropriate security contexts on shared paths. - Enable memory overcommitment to avoid errors in systems with limited resources, adding
vm.overcommit_memory = 1en/etc/sysctl.conf. - Run the stack with:
docker compose up
After a few seconds, Immich will be operational, normally accessible in http://localhost:2283The first access will direct you to the administrator user creation wizard.
Security and remote access settings
One of Immich's biggest advantages is its ability to function as a private cloud, but if you plan to access it from outside your home network, it's essential to strengthen security:
- The safest option is to use a VPN (e.g., Wireguard) to connect to your local network without unnecessarily exposing public ports.
- Alternatively, you can access your site via HTTPS using a reverse proxy (Nginx or Caddy) and SSL/TLS certificates. If you have a public domain, you can use Let's Encrypt to obtain free, valid certificates.
Here is a basic Nginx configuration example to redirect secure connections from https://tudominio.com to your local Immich server:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:2283; } }
Remember to open port 443 on your firewall (with UFW, Firewalld, etc.) so that external connections are accepted. And, of course, keep your entire system updated.
Mobile compatibility and cross-platform management
Immich is not just a photo server; has mobile applications for Android and iOS, accessible in official stores. The process is simple: install the app, enter your server URL (usually http://tuservidor/api) and log in with the created user. This way, you can sync, view, and manage your photos and videos from anywhere.
The app detects new files, makes automatic copies, prevents duplicates and gives you offline access to your gallery.The experience is very similar to that of commercial platforms, but you retain complete control over your data.
Key advantages and potential pitfalls
Deploying Immich on Linux has numerous advantages over proprietary alternatives:
- Complete privacy: your photos never leave your infrastructure.
- Zero cost: no fees or hidden charges.
- Customization: storage, users, features, and design to your liking.
- Seamless integration into your favorite Linux ecosystem.
- Ability to scale and backup to suit your needs.
Among the possible aspects to take into account, the following stand out:
- Initial startup may require basic technical knowledge (terminal usage and configuration file editing).
- Community support is excellent, but it doesn't always come with direct commercial support.
- It requires keeping both the operating system and Snap containers or packages up to date.
For users committed to open source software and data control, this option is highly recommended over closed-source solutions.
Comparison of features versus other solutions
For your information, here are the most notable features that Immich offers compared to other backup and multimedia management applications:
- Automatic and selective backup of albums on every app launch, including options to choose which folders to back up.
- Support for RAW photos, 360° videos, LivePhoto and MotionPhoto.
- Multi-user support, advanced permission management, and shared albums.
- Intelligent search based on metadata, facial recognition, and chronological organization.
- Download and upload from any device, even offline.
- Folder view, stacking of similar photos, and the ability to create favorites and archives.
Its experience is as seamless and comprehensive as any modern retail solution, but with greater transparency and versatility.
Final tips to get the most out of Immich on Linux
To ensure a smooth and safe experience, we recommend following some basic tips:
- Make regular backups of your storage directory, database, and configuration files.
- Consider deploying your instance on a machine with good connectivity to improve the remote experience.
- Enable HTTPS and limit external access to trusted users.
- Join the Immich community on GitHub to stay up to date and contribute to its development.
- Test the system first in a virtual machine before migrating your entire collection, to familiarize yourself with the options.
Immich is a complete, secure, and versatile solution for managing your photos and videos on Linux servers, providing independence, privacy, and continuous innovation. If you value your media and want to maintain complete control over it, it's worth implementing and turning your server into your own personal cloud.