README.md
Rama main · réplica de lectura del repositorio original.
# Mimick - Immich Desktop Client for Linux
<div align="center">
<img src="src/assets/icon.png" width="256" alt="Mimick Logo">

[](https://github.com/nicx17/mimick/releases/latest)
[](https://github.com/rust-lang/rust)
[](https://github.com/torvalds/linux)
[](https://gitlab.gnome.org/GNOME/gtk)
[](LICENSE)
[](https://flathub.org/en/apps/dev.nicx.mimick)
[](https://flathub.org/en/apps/dev.nicx.mimick)

[](https://sonarcloud.io/summary/new_code?id=nicx17_mimick)
[](https://sonarcloud.io/summary/new_code?id=nicx17_mimick)
[](https://sonarcloud.io/summary/new_code?id=nicx17_mimick)
[](https://sonarcloud.io/summary/new_code?id=nicx17_mimick)
</div>
<div align="center">
<img src="assets/mimick-project-card-3x.png" alt="Mimick Project Card" width="100%">
</div>
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)
- [](#features)
- [](#installation)
- [](#getting-started)
- [](#documentation)
- [](#building-from-source)
- [](#translations)
- [](#credits)
- [](#license)
## Screenshots
| Library View (Light) | Explore View |
| :--------------------------------------------------------: | :---------------------------------------------------------------------------------: |
|  |  |
| **Sync Status Dashboard** | **Settings & Watch Folders** |
|  |  |
<div align="center">
[](https://github.com/nicx17/mimick/wiki/Screenshots)
</div>
## 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](https://github.com/nicx17/mimick/wiki/Home#current-app-highlights) for the full list, and the [Library View User Guide](https://github.com/nicx17/mimick/wiki/Library-View-User-Guide) for the browser (or press **Ctrl+?** in the app for shortcuts).
## Installation
<div align="left">
<a href="https://flathub.org/apps/dev.nicx.mimick">
<img width="240" alt="Get it on Flathub" src="https://flathub.org/api/badge?locale=en">
</a>
</div>
### Flathub (recommended)
Flathub keeps Mimick updated automatically:
```bash
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](https://flathub.org/setup).
### Arch Linux (AUR)
A native build of the latest release, installed with an AUR helper such as `yay` or `paru`:
```bash
yay -S mimick
```
### AppImage
Each [release](https://github.com/nicx17/mimick/releases) includes an AppImage for x86_64 and aarch64 that runs without installing anything:
```bash
chmod +x Mimick-*.AppImage
./Mimick-*.AppImage
```
See [Installation](https://github.com/nicx17/mimick/wiki/Installation) for details on each method.
## Getting Started
The settings window opens the first time you launch Mimick.
1. 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.
2. In Immich, create an API key under **Account Settings → API Keys**, paste it into Mimick, and press **Save and Connect**.
3. Under **Watch Folders**, press **Add Folder…** and choose where each folder uploads to.
4. 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](https://github.com/nicx17/mimick/wiki/Configuration-and-First-Run) guide covers every setting and the [permissions each feature needs](https://github.com/nicx17/mimick/wiki/Configuration-and-First-Run#api-key-security--required-permissions).
## Documentation
<div align="center">
[](https://github.com/nicx17/mimick/wiki)
[](https://github.com/nicx17/mimick/wiki/Installation)
[](https://github.com/nicx17/mimick/wiki/Configuration-and-First-Run)
[](https://github.com/nicx17/mimick/wiki/Library-View-User-Guide)
[](https://github.com/nicx17/mimick/wiki/Troubleshooting)
[](https://github.com/nicx17/mimick/wiki/Development)
[](https://github.com/nicx17/mimick/wiki/Testing)
[](https://mimick.nicx.dev/docs/)
[](SECURITY.md)
</div>
## 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](https://github.com/nicx17/mimick/wiki/Development) lists the packages for each distribution.
```bash
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
```
## Translations
<!-- translations:start -->
> **No translations yet.** See [Translations](CONTRIBUTING.md#5-translations) to add your language.
<!-- translations:end -->
Mimick uses gettext, so anyone can add a language: see [Translations](CONTRIBUTING.md#5-translations) in the contributing guide. `scripts/i18n.sh progress` redraws the chart above from the files in `po/`.
## Contributing
Pull requests are welcome. See [CONTRIBUTING.md](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](https://unsplash.com/illustrations/a-white-and-orange-flower-on-a-white-background-IkQ_WrJzZOM) on Unsplash.
- **Map data and styles:** © [OpenStreetMap contributors](https://www.openstreetmap.org/copyright) and [VersaTiles](https://versatiles.org), with satellite imagery from the [VersaTiles sources](https://versatiles.org/sources/).
- **Place search:** [Photon](https://github.com/komoot/photon) by komoot, licensed under the [Apache License 2.0](https://github.com/komoot/photon/blob/master/LICENSE), searching OpenStreetMap data. Map searches are sent to the public server at [photon.komoot.io](https://photon.komoot.io).
- **Special thanks:** [Immich](https://immich.app).
- **Built with:** [GTK](https://www.gtk.org), [libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/), [libshumate](https://gitlab.gnome.org/GNOME/libshumate), [GStreamer](https://gstreamer.freedesktop.org), [libheif](https://github.com/strukturag/libheif), [LibRaw](https://www.libraw.org), [libjpeg-turbo](https://www.libjpeg-turbo.org), [libwebp](https://chromium.googlesource.com/webm/libwebp), and [OpenJPEG](https://www.openjpeg.org).
## License
GNU General Public License v3.0 — see [LICENSE](LICENSE).