Back to Blog
    Proxmox
    LXC
    Immich
    Docker
    Homelab

    Immich in Proxmox LXC: A Stability Gamble Worth Taking?

    February 5, 2026
    10 min read
    # Immich in Proxmox LXC: A Stability Gamble Worth Taking? Home server enthusiasts love pushing boundaries — squeezing every last drop of utility out of platforms like Proxmox, ZFS, and Docker. So when Immich, an open‑source self‑hosted photo and video manager, started getting buzz as a lightweight alternative to big cloud services, it was only natural that someone would try to run it in an LXC container on Proxmox. And on paper? It's a beautiful idea. Lightweight, efficient, and clean. Skip the overhead of full VMs. Use existing storage shares. It feels elegant. But real‑world experience tells a slightly messier story. This is the story of one homelabber's week wrestling Immich into a Proxmox LXC — how it started smooth, then hit a wall — and what the community has learned in the process. ## Day 0: The Setup The plan seemed simple: 1. Create an LXC container in Proxmox. 2. Install Immich inside it using the popular Proxmox VE Helper‑Scripts. 3. Mount an SMB share into the container via a symbolic link so Immich could see the photo storage. 4. Enjoy a self‑hosted solution without the overhead of extra VMs or complex networking. At first, it worked exactly like that. The container started, Immich served its web UI, and the media folder mounted correctly. Everything felt solid. But the devil, as always, is in the details. ## First Sign of Trouble: A Few Reboots Later Within a few days, the Proxmox host needed reboots — routine hardware updates, power cycling, nothing dramatic. But after those reboots, something broke. The LXC container still ran. The IP address was still reachable. Networking was fine. But the Immich web interface was dead, silent, unreachable. No obvious errors. No rapid diagnostic clues. Just… nothing. Try as they might, the admin couldn't bring the interface back without starting from scratch. That's when the feeling shifted from "this is neat" to "this might not be built for this." ## What Went Wrong? Stability or Fragility? At a glance, Immich running in an LXC sounds fine. But the deeper issue isn't just "it broke" — it's why it broke, and how recoverable it was. Here's the rub: ### 1. Database Sensitivity on Network Filesystems One commenter pointed out a classic problem: PostgreSQL doesn't play nicely with network mounts. When you have a database engine writing to a filesystem that's actually an SMB/NFS share via a symlink, things can get unpredictable. This isn't just a theoretical warning — databases have very strict write and lock semantics. When those semantics run over network‑backed mounts inside an LXC, the risk of corruption or unresponsive behavior spikes. ### 2. Post‑Reboot Weirdness Several responders noted their containers broke after reboots too — and the cause wasn't always the LXC itself. Common suspects included: - IP addresses changing - Services not marked enabled to start after reboot - Mounts not remounted in the same order - Systemd services failing silently In short: Immich may be fine — it's how the containerized environment interacts with Proxmox's LXC model that caused problems. ### 3. Helper Scripts Aren't Official A number of servers in the comments admitted they used the Proxmox helper scripts for setup… but hinted at limitations. These scripts are community‑supported and convenient — but they're not part of Proxmox core. That means edge‑cases can happen, especially when updates roll through. ## What the Community Experienced Interestingly, the reactions split into a few camps: ### People Who Hit Instability Many users mirrored the original poster's struggle — Immich becomes unreachable after a few days or after a host reboot. - Some said restoring a backup fixed it temporarily. - Others concluded as much as they wanted it to work, it just wasn't reliable enough for long‑term use in LXC. ### Others Running It Smoothly But not everyone melted down. A handful of folks said they'd run Immich in an unprivileged LXC for long periods without issue. A few tweaks they mentioned: - Keeping the container small and lean - Separating data onto linked storage instead of inside - Being careful with permission changes - Taking backups before running updates So yes — it can work. But it's not trivial. ## Docker in LXC: A Middle Ground Some users found success by running Docker inside an LXC, rather than installing Immich directly into the LXC filesystem. This adds another abstraction layer — Docker inside an LXC — but isolates services better. It also makes updates and service restarts easier, and gives better logs and tooling. However, this strategy still has caveats: container‑inside‑container setups add complexity, especially around networking and storage mounts. ## The VM Advocates The most consistent reports of stability came from those running Immich inside a full VM, usually with a lightweight Linux like Debian, using Docker or Docker Compose. Here's what community members observed: - No unexplained outages after reboots - Docker containers come up automatically, predictable networking - Can put database and filesystem on local VM disks for better performance - Easier debugging via standard Linux tooling In other words — it just works. As one commenter said succinctly: "Immich in Docker on a normal Debian VM has been perfectly stable for years. Not a single hiccup." ## So What's the Verdict? Let's break this down in plain language. ### 💡 LXC with Immich: - ⚠️ Can work - ⚠️ Potential for unexpected downtime - ⚠️ Needs careful setup - ⚠️ Troubleshooting can be tricky ### 🐋 Docker in LXC: - 👍 Better than raw LXC - 👍 More tooling and service isolation - ⚠️ Still adds complexity ### 🖥 Full VM + Docker: - ⭐ Most stable and predictable - ⭐ Best for long‑term uptime - ⭐ Works reliably across reboots - ❓ Slightly more resource usage ## Best Practices If You Still Want to Try LXC If you're determined to squeeze Immich into an LXC, here are community tips worth considering: ### 1. Use an unprivileged container This protects the host better and mirrors VM isolation more. ### 2. Keep data directories out of the container root Bind‑mount or link only specific folders. Don't drag entire shares into the container. ### 3. Make sure your services start on boot Check systemd enabling and networking after every reboot. ### 4. Test full power cycles Not just restarts — shut down the host entirely and boot again. This exposes mount order issues. ### 5. Backup, backup, backup Containers are cheap to snapshot — do it, especially before updating helper scripts. ## Final Thoughts Trying Immich in an LXC on Proxmox is a classic DIY experiment — clever, efficient, and satisfying when it works. But home labs aren't just labs — they're infrastructure for your memories. When you start trusting a system with your irreplaceable photos and videos, stability has to matter more than elegance. And for most people, that means moving beyond the bare‑bones LXC and into a more robust environment — ideally a dedicated VM running Docker. If you're the tinkering type who enjoys wrestling with edge cases and digging into mount options, go for the LXC challenge. Just be ready for maintenance, quirks, and potentially rebuilding things after a host reboot. If you'd rather set it up once and forget it, a full VM may be the better gamble. Either way, there's no shame in pivoting your setup — especially when the goal is peace of mind.