nicx17/mimick
nicx17/mimick has 140 GitHub stars and 5 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 09:14 UTC. Last push 2026-11-05.
Immich client for Linux — background sync, library browser, album sync, and search. Built with RUST and GTK4, Adwaitaa
What you can do
- Background sync: watches your folders and uploads new photos and videos as they appear, with 1–10 parallel uploads.
- No duplicate uploads: SHA-1 checksums skip files already on the server, and a local index keeps startup scans fast.
- Per-folder control: upload to your library, a chosen album, or an album named after the folder. Each folder can skip hidden files, cap file size, allow only some file types, and use Upload Only, Download Only, or Full sync.
- Reliable: failed uploads are saved and retried, Mimick switches between your LAN and WAN addresses automatically, and the Queue Inspector shows and retries failures.
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalMimick - Immich Desktop Client for Linux
Mimick is an unofficial Immich desktop client for Linux. It syncs your photo and video folders to a self-hosted Immich server in the background, and has an optional library browser for viewing, searching, and managing your photos from the desktop.
This is a community-developed project and is not affiliated with or endorsed by the Immich project.
Status: Supports Immich v3.0.0+.
Table of Contents
Screenshots
| Library View (Light) | Explore View |
|---|---|
![]() |
![]() |
| Sync Status Dashboard | Settings & Watch Folders |
![]() |
![]() |
Features
- Background sync: watches your folders and uploads new photos and videos as they appear, with 1–10 parallel uploads.
- No duplicate uploads: SHA-1 checksums skip files already on the server, and a local index keeps startup scans fast.
- Per-folder control: upload to your library, a chosen album, or an album named after the folder. Each folder can skip hidden files, cap file size, allow only some file types, and use Upload Only, Download Only, or Full sync.
- Reliable: failed uploads are saved and retried, Mimick switches between your LAN and WAN addresses automatically, and the Queue Inspector shows and retries failures.
- Battery and network aware: quiet hours, and optional pausing on metered networks or battery power.
- Desktop integration: tray icon, Run on Startup, Open With Mimick from your file manager, and drag and drop to upload or export.
- Private by design: the Flatpak can only read folders you pick, and your API key is kept in the system keyring.
- Library browser (optional): a Photos timeline, albums, Explore, metadata, smart, and text (OCR) search, people, tags, folders, a map, video playback, sharing, archive, and trash.
- Works on Linux phones: the layout adapts down to 360 px wide, with a bottom navigation bar.
See Current App Highlights for the full list, and the Library View User Guide for the browser (or press Ctrl+? in the app for shortcuts).
Installation
Mimick is distributed on Flathub, which keeps it updated automatically:
flatpak install flathub dev.nicx.mimick
Note: If you haven't set up Flathub yet, follow the guide for your distribution at flathub.org/setup.
Getting Started
The settings window opens the first time you launch Mimick.
- Under Server, enter your Immich Internal URL (LAN, e.g.
http://192.168.1.50:2283), External URL (e.g.https://photos.example.com), or both. - In Immich, create an API key under Account Settings → API Keys, paste it into Mimick, and press Save and Connect.
- Under Watch Folders, press Add Folder… and choose where each folder uploads to.
- Turn on Background Sync to keep syncing after you close the window, and Run on Startup to start Mimick when you log in.
Core sync needs only these API key permissions; all enables every feature:
| Permission | Why |
|---|---|
user.read |
Establish current user session and identity |
asset.upload |
Send media to the server |
asset.update |
Apply correct timezone metadata after upload |
The Configuration and First Run guide covers every setting and the permissions each feature needs.
Documentation
Building from Source
You need a Rust toolchain, GTK 4.24, libadwaita 1.10, libheif 1.21, libshumate 1.7, GStreamer with the GTK 4 video sink, and libclang. The Development guide lists the packages for each distribution.
git clone https://github.com/nicx17/mimick.git
cd mimick
cargo run -- --settings # native build, opens the settings window
flatpak-builder --user --install --force-clean build-dir dev.nicx.mimick.local.yml
flatpak run dev.nicx.mimick # local Flatpak build
Contributing
Pull requests are welcome. See CONTRIBUTING.md for commit and style guidelines. Releases ship with checksums, and CI runs formatting, linting, tests, dependency audits, and CodeQL analysis.
Credits
- Icon design: illustration by Round Icons on Unsplash.
- Map data and styles: © OpenStreetMap contributors and VersaTiles, with satellite imagery from the VersaTiles sources.
- Place search: Photon by komoot, licensed under the Apache License 2.0, searching OpenStreetMap data. Map searches are sent to the public server at photon.komoot.io.
- Special thanks: Immich.
- Built with: GTK, libadwaita, libshumate, GStreamer, libheif, LibRaw, libjpeg-turbo, libwebp, and OpenJPEG.
Third-party license texts are in THIRD_PARTY_LICENSES.txt.
License
GNU General Public License v3.0 — see LICENSE.
Explore related projects
awesome-selfhosted/awesome-selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers
335,563 starsimmich-app/immich
High performance self-hosted photo and video management solution.
118,645 starsStirling-Tools/Stirling-PDF
#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
96,149 starslouislam/uptime-kuma
A fancy self-hosted monitoring tool
93,425 stars


