Native Linux-to-Immich Sync
Mimick keeps your Linux media flowing into Immich.
A GTK4 desktop app that watches your folders, uploads in the background, retries when the network gets messy, and still gives you the controls you want when it is time to step in.
Why Mimick
Linux users who run Immich often end up with a gap between where their photos live locally and how they get into the server. Mimick closes that gap with a real desktop workflow: choose folders, connect your server, and let the app monitor, queue, and upload in the background while still fitting into how Linux desktops actually behave.
It is not just an uploader. It is meant to be the dependable layer between your filesystem and your Immich library, with enough visibility and recovery tools that you are not left guessing when something fails.
What You Get
Background Sync That Stays Out of the Way
Watch selected folders continuously, upload as media appears, and keep Mimick running quietly even after the settings window is closed.
Recovery Built In
Failed uploads are persisted and replayed later, which makes network hiccups and temporary server issues much less painful.
Native Desktop Controls
Use a GTK4 and Libadwaita settings window, system tray actions, pause and resume controls, and a status page that surfaces what the app is doing.
Flexible Folder Routing
Map each watched folder to an existing Immich album, a custom album name, or a folder-name-based default.
Safer Linux Packaging
Flatpak builds use selected-folder access instead of broad home-directory permissions, which fits modern Linux sandbox expectations better.
Troubleshooting Without Guesswork
Queue inspection, failed-item actions, diagnostics export, and clearer error messaging make the app supportable when real-life edge cases show up.
How It Fits Into Your Workflow
Connect Immich
Add your internal and external server URLs, store the API key securely in the system keyring, and keep at least one route active.
Choose Folders
Select the local directories you want to watch, add rules if needed, and decide how each folder should map to albums in Immich.
Let It Run
Mimick monitors those folders, queues eligible files, retries later when necessary, and can catch up on files it missed while it was not running.
Step In When You Want
Pause uploads, trigger a manual sync, inspect the queue, retry failures, or export diagnostics from the status page and tray controls.
See the App
Built for Real Linux Conditions
Mimick is shaped around the realities of Linux desktops and self-hosted media servers. It supports background operation, login autostart, LAN and WAN routing, one-way sync, startup catch-up scans, and optional pause behavior for metered networks or battery power.
It also keeps the messaging honest: this is a Linux-first desktop app for Immich, currently in beta, with a deliberate focus on reliability and day-to-day usability over flashy abstractions.
Install
Flatpak is the recommended path
Mimick is distributed as a beta Linux app and works best when installed from the official Flatpak repository.
flatpak remote-add --user --if-not-exists mimick-repo https://nicx17.github.io/mimick/mimick.flatpakrepo
flatpak install --user mimick-repo io.github.nicx17.mimick
If you prefer a native build, the repository also supports a standard Rust workflow with cargo build --release.
FAQ
Is it Linux-only?
Yes. Mimick is currently built as a Linux desktop app around GTK4, Libadwaita, and Linux packaging flows.
Does it modify local files?
No. Mimick is designed as a one-way sync tool that uploads media to Immich without changing the original local files.
Does the tray work everywhere?
It uses StatusNotifier support. GNOME users may need the AppIndicator and KStatusNotifierItem extension for tray visibility.
Can it recover from failures?
Yes. Failed uploads are persisted and can be retried automatically or manually from the app's queue and status tools.
Want a Linux-native bridge into Immich?
Start with the Flatpak install, read the docs if you want more depth, or jump into the repository if you want to inspect how the app is built.