Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

Immich’s AGPL-licensed server for your photos and videos, with a web app and phone apps. The phone backs up to it and it groups faces. These notes cover Docker Compose, Synology, Unraid, TrueNAS, Portainer, Kubernetes, upgrades and backups.
Immich is an open-source project on GitHub in the Productivity category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
mkdir ./immich-app cd ./immich-app wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
Immich is a server you run yourself for your photos and videos. Its README calls it a high performance self-hosted photo and video management solution. It comes with a web app and phone apps. The phone uploads new photos in the background, and the server groups faces, reads text in pictures and answers searches by what a photo shows. This entry is about running the server, which you install yourself, most routes starting from two release files, and not from a phone app store.
People who want their photo library on a machine they control and are happy to run Docker. A family or a home lab can both use it, because it has users, shared albums and an admin. Skip it if you do not want to look after a server. The docs ask for at least 6 GB of memory, and the backups are yours to arrange.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Families | A household with several phones | Give each person an account, back up each phone and share albums | The admin opens Administration > Users > Create user for a partner, and both phones sign in at http://<machine-ip-address>:2283. |
| Home labs and NAS owners | People who run apps at home | Run the containers on a Synology, Unraid or TrueNAS box with the docs’ community guides | A Synology owner makes a Container Manager project from docker-compose.yml and the .env file. |
| Photographers | People with an archive on disk | Point an external library at the folders and leave the Raw files out | An admin adds /mnt/media/christmas-trip and excludes its Raw folder with a glob pattern, the docs’ own example. |
| Anyone moving photos in | People with old folders or another service | Upload from the command line, or use the community tool the docs name for a Google Photos takeout | Someone runs immich login [url] [key] with the server’s /api address and an API key, then immich upload --recursive directory/. |
| Self-hosters | People who run it behind a proxy | Put nginx, Caddy, Apache or Traefik in front of it, for example to handle TLS | An admin copies the docs’ nginx config, sets public_url and keeps its 600 second timeouts. |
The server runs as Docker containers. The docs recommend 64-bit Linux and strongly discourage other systems. If you still want to try, Windows can be set up through Docker Desktop or WSL 2 and macOS through Docker Desktop, and the team’s help there is severely reduced. You reach it in a browser, or from phone apps for iOS and Android.
| Way | How | What the docs say |
|---|---|---|
| Docker Compose | The release’s docker-compose.yml and .env | Recommended for production |
| Install script | One line that downloads the files and starts the containers | Linux only, experimental, not recommended for production |
| Portainer | A stack built in the web editor | Replace .env with stack.env in the compose text |
| Kubernetes | The official Helm chart | The docs page gives no commands of its own |
| Synology | A Container Manager project | A community contribution, not officially supported |
| Unraid | The Compose Manager plugin, or a community template | A community contribution, not officially supported |
| TrueNAS | The Immich app from the Community train | A community contribution, for Community Edition 24.10.2.2 and later |
Get it saves a zip of Mindket’s setup notes in your downloads folder, with a page for each way to run Immich, the phone app, upgrades and backups. The main route is Docker Compose with two files from the latest release.
| Need | Detail |
|---|---|
| A computer | 64-bit Linux is recommended. The docs strongly discourage other systems. If you try one, Windows uses Docker Desktop or WSL 2 and macOS uses Docker Desktop |
| Memory | At least 6 GB, with 8 GB recommended. With only 4 GB, the docs say Immich can run with machine learning off |
| CPU | At least 2 cores, with 4 recommended. On amd64 the machine learning container needs x86-64-v2 or newer |
| Docker | Docker with the Compose plugin. The docs need the command docker compose, not the older docker-compose |
| Disk | A Unix-compatible filesystem with user and group ownership and permissions is recommended. Thumbnails and transcoded video add 10 to 20 percent on average |
| The database | Ideally local SSD storage, and never a network share. On Windows it will not work on NTFS or exFAT/FAT32, or in WSL on a mounted host folder such as /mnt |
mkdir ./immich-app cd ./immich-app wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
docker compose up -d
The first two lines make the folder and move into it. The next two fetch the files and save example.env as .env.
Upload from the web app, or let the phone do it. On the phone, tap the cloud icon at the top right, choose the albums to back up and press Enable Backup. It uploads on Wi-Fi unless you change that in the backup settings.
Search covers more than file names.
The machine learning service does the work for faces and contextual search. The docs say it downloads a model the first time it needs one.
To update, change IMMICH_VERSION in .env if you pinned it, read the release notes, then run this in the folder with docker-compose.yml:
docker compose pull && docker compose up -d
You want your partner’s phone and yours to share one library at home. You set up the server and register as the admin. Then you create a second user here:
Administration > Users > Create user
On each phone you sign in at the server address and turn on backup. Each phone uploads to its own account. To see each other’s photos you use a shared album or partner sharing, which the README lists as features.
If you are new. Immich keeps your photos on your own machine, so you are also the one who backs them up. Try a few photos from your phone first. The Quick start page suggests a few photos before the whole library, and says large uploads can take quite a while. Set up server backups before you trust it with everything.
For experts. The compose file runs four services. They are the server on port 2283, a machine learning service with a model-cache volume, a Valkey image for Redis, and Postgres from Immich’s own registry with the VectorChord extension. Setting IMMICH_VERSION to a tag such as v3 follows that major version and skips release candidates. Pointing IMMICH_CONFIG_FILE at a JSON or YAML file turns off editing the other properties in the web app.
The docs cover a GPU for video transcoding (NVENC, Quick Sync, RKMPP and VAAPI) and for machine learning (ARM NN, CUDA, ROCm, OpenVINO and RKNN). Both are marked experimental. Behind a reverse proxy, forward the Host, X-Real-IP, X-Forwarded-Proto and X-Forwarded-For headers, allow big uploads and serve Immich from the root of a domain, since sub-paths are not supported. The immich-admin tool inside the server container resets the admin password and lists users.
Most of it runs on your machine, and the risks are mostly about your own copies.
This kit holds setup notes only. Mindket wrote them. Immich, its Docker images and its mobile apps come from Immich's own repository and release pages: https://github.com/immich-app/immich
These notes are not made or endorsed by the Immich team. The README describes Immich as "High performance self-hosted photo and video management solution". The documentation is at https://docs.immich.app/
The notes come from the README and the documentation pages named in each file. They were not checked against the source code, and nothing in them was run.
Immich uses the GNU Affero General Public License, version 3. GitHub lists it as AGPL-3.0, and the LICENSE file (https://github.com/immich-app/immich/blob/HEAD/LICENSE) is the standard text, "Version 3, 19 November 2007". These notes do not interpret the license. If you plan to change Immich and run or share your version, read the file first.
The README carries a warning near the top: "Always follow 3-2-1 backup plan for your precious photos and videos!" The docs repeat it. The database backup holds only metadata, so your photos and videos need their own copy. See setup/backup-and-restore.md.
Immich is a server with a web app and a phone app. The server runs as containers. The docs give these ways to run it and to use it:
immich-admin tool inside the server container.docker compose, and that the older docker-compose is no longer supported. Source: https://docs.immich.app/install/requirementsamd64 or arm64 platform. Since v3, the machine learning container on amd64 needs a CPU at x86-64-v2 or newer. The docs name v2.7.5 as the last version that supports older CPUs, and say it is no longer supported.Run these in a new folder, after you have edited the .env file as setup/docker-compose.md describes.
docker compose up -d
Source: https://docs.immich.app/install/docker-compose
Each file names the page its steps and commands came from. Where a page and a file in the repository differ, the file says so.
The default configuration on the Config file page lists a new version check, map styles from tiles.immich.cloud and reverse geocoding, each with "enabled": true. Only the map entry names an outside address, and these notes did not check whether the other two connect out. The same settings can be changed in the web app under Administration > Settings, or in a config file: https://docs.immich.app/install/config-file. These notes did not trace what each one sends. Model downloads for machine learning are covered in setup/docker-compose.md.
To update, see setup/upgrading.md. The docs give no uninstall page. docker compose down stops the containers. The docs' restore steps use docker compose down -v with a warning that it deletes all Immich data, so do not run that to remove Immich unless you mean it.
README.md 5 KB setup/admin-commands.md 2 KB setup/backup-and-restore.md 6 KB setup/cli-upload.md 4 KB setup/docker-compose.md 6 KB setup/external-libraries.md 5 KB setup/hardware-acceleration.md 5 KB setup/install-script.md 2 KB setup/kubernetes.md 1020 B setup/mobile-app.md 5 KB setup/portainer.md 2 KB setup/reverse-proxy.md 4 KB setup/synology.md 4 KB setup/truenas.md 4 KB setup/unraid.md 4 KB setup/upgrading.md 3 KB
Updated by Mindket to the current version of this kit.
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
freeCodeCamp · Kit
The open source codebase and curriculum of freeCodeCamp.org, a community where you can learn to code for free, run by a donor-supported 501(c)(3) charity. The…
oven-sh · Kit
The all-in-one toolkit for JavaScript and TypeScript apps. One executable holds a Node.js-compatible runtime, a package manager, a test runner and a bundler. T…
twentyhq · Kit
An open-source CRM, mostly under AGPLv3, that your team can use in the cloud, host itself or extend with TypeScript apps. The setup notes cover Docker Compose,…