mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-08-11 23:52:29 +02:00
- Pin build.json to the imagegenius v3 image line (:3, :3-cuda, :3-noml, :3-openvino) - Bump config.yaml version to 3.0.1 and record upstream_version 3.0.1 in updater.json - Add a non-fatal VectorChord (vchord) startup check in the shared 99-run.sh so users on a non-VectorChord database get a clear diagnostic (v3 drops pgvecto.rs) - Document the Immich v3 database (VectorChord) and CPU requirements in each README and point users at the Postgres 15 / Postgres 17 add-ons - CHANGELOG entries for all four add-ons The Postgres 15 / Postgres 17 add-ons already ship the official immich VectorChord image (vectorchord0.4.3, matching Immich v3's pinned database) and are intentionally left unchanged to preserve the pgvecto.rs to VectorChord migration path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PcbbgB7A5LLbPuPRjLUouk
161 lines
9.2 KiB
Markdown
161 lines
9.2 KiB
Markdown
# Home assistant add-on: Immich CUDA
|
||
|
||
⚠️ The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos! (from the developer)
|
||
|
||
|
||
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
|
||
|
||
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
|
||
|
||
[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
||
[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
|
||
|
||
## Addon informations
|
||
|
||

|
||

|
||

|
||
|
||
[](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
|
||
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
|
||
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
|
||
|
||
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
||
[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white
|
||
|
||
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
|
||
|
||
[](https://github.com/alexbelgium/hassio-addons/stargazers)
|
||
|
||

|
||
|
||
## About
|
||
|
||
Self-hosted photo and video backup solution directly from your mobile phone with CUDA hardware acceleration support. This is the CUDA-enabled variant of Immich that provides hardware acceleration for machine learning tasks using NVIDIA GPUs.
|
||
|
||
This addon is based on the [docker image](https://github.com/imagegenius/docker-immich) from imagegenius with CUDA support enabled for enhanced performance.
|
||
|
||
## Immich v3
|
||
|
||
This add-on tracks **Immich v3** (built on the `ghcr.io/imagegenius/immich:3-cuda` image line).
|
||
|
||
- **Database**: Immich v3 requires PostgreSQL (14–17) with the **VectorChord (`vchord`)** extension; upstream `pgvecto.rs` support has been removed. The `Postgres 15` and `Postgres 17` add-ons in this repository already provide a VectorChord-capable database and are the recommended choice (you can also use the official `ghcr.io/immich-app/postgres:*-vectorchord*` image).
|
||
- **Upgrading from Immich v2**: keep your existing VectorChord-capable database so Immich can migrate its data automatically. If your database still holds data in the old `pgvecto.rs` extension, leave that extension in place until Immich has finished migrating to VectorChord.
|
||
- **CPU**: on `amd64`, Immich v3 requires an x86-64-v2 (or newer) CPU.
|
||
|
||
See the official [v3 migration guide](https://immich.app/blog/v3-migration) for details.
|
||
|
||
## Hardware Requirements
|
||
|
||
- **NVIDIA GPU**: Compatible NVIDIA graphics card with CUDA support
|
||
- **CUDA Drivers**: NVIDIA drivers must be properly installed on the host system
|
||
- **Architecture**: AMD64 only (CUDA support not available on ARM architectures)
|
||
|
||
## Configuration
|
||
|
||
Webui can be found at `<your-ip>:8080`. PostgreSQL can be either internal or external.
|
||
|
||
### Options
|
||
|
||
| Option | Type | Default | Description |
|
||
|--------|------|---------|-------------|
|
||
| `data_location` | str | `/share/immich` | Path where Immich data is stored |
|
||
| `library_location` | str | | Path to photo/video library |
|
||
| `TZ` | str | | Timezone (e.g., `Europe/London`) |
|
||
| `localdisks` | str | | Local drives to mount (e.g., `sda1,sdb1,MYNAS`) |
|
||
| `networkdisks` | str | | SMB shares to mount (e.g., `//SERVER/SHARE`) |
|
||
| `cifsusername` | str | | SMB username for network shares |
|
||
| `cifspassword` | str | | SMB password for network shares |
|
||
| `cifsdomain` | str | | SMB domain for network shares |
|
||
| `DB_HOSTNAME` | str | `homeassistant.local` | Database hostname |
|
||
| `DB_USERNAME` | str | `postgres` | Database username |
|
||
| `DB_PASSWORD` | str | `homeassistant` | Database password |
|
||
| `DB_DATABASE_NAME` | str | `immich` | Database name |
|
||
| `DB_PORT` | int | `5432` | Database port |
|
||
| `DB_ROOT_PASSWORD` | str | | Database root password |
|
||
| `JWT_SECRET` | str | | JWT secret for authentication |
|
||
| `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (not recommended for CUDA variant) |
|
||
| `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (can be increased with CUDA) |
|
||
| `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) |
|
||
| `VIPS_NOVECTOR` | bool | `false` | Set to `true` to export `VIPS_NOVECTOR=1` and work around aarch64 thumbnail generation issues |
|
||
| `skip_permissions_check` | bool | `false` | Skip file permissions checking |
|
||
|
||
### Example Configuration
|
||
|
||
```yaml
|
||
data_location: "/share/immich"
|
||
library_location: "/media/photos"
|
||
TZ: "Europe/London"
|
||
localdisks: "sda1,sdb1"
|
||
networkdisks: "//192.168.1.100/photos"
|
||
cifsusername: "photouser"
|
||
cifspassword: "password123"
|
||
DB_HOSTNAME: "core-mariadb"
|
||
DB_USERNAME: "immich"
|
||
DB_PASSWORD: "secure_password"
|
||
DB_DATABASE_NAME: "immich"
|
||
JWT_SECRET: "your-secret-key-here"
|
||
DISABLE_MACHINE_LEARNING: false
|
||
MACHINE_LEARNING_WORKERS: 2
|
||
MACHINE_LEARNING_WORKER_TIMEOUT: 180
|
||
```
|
||
|
||
### Mounting Drives
|
||
|
||
This addon supports mounting both local drives and remote SMB shares:
|
||
|
||
- **Local drives**: See [Mounting Local Drives in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Mounting-Local-Drives-in-Addons)
|
||
- **Remote shares**: See [Mounting Remote Shares in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Mounting-remote-shares-in-Addons)
|
||
|
||
#### Using a Local Disk for Immich Storage
|
||
|
||
To save Immich data to a mounted local disk:
|
||
|
||
1. Set the `localdisks` option to your drive name (e.g., `sda1`). The drive will be mounted at `/mnt/sda1`.
|
||
2. Set the `data_location` option to a path on the mounted drive, for example `/mnt/sda1/immich`.
|
||
|
||
Example configuration:
|
||
|
||
```yaml
|
||
localdisks: "sda1"
|
||
data_location: "/mnt/sda1/immich"
|
||
```
|
||
|
||
### Custom Scripts and Environment Variables
|
||
|
||
This addon supports custom scripts and environment variables through the `addon_config` mapping:
|
||
|
||
- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
|
||
- **env_vars option**: Use the add-on `env_vars` option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
||
|
||
## Installation
|
||
|
||
The installation of this add-on is pretty straightforward and not different in
|
||
comparison to installing any other Hass.io add-on.
|
||
|
||
**Prerequisites:**
|
||
- NVIDIA GPU with CUDA support
|
||
- NVIDIA drivers installed on the host system
|
||
- AMD64 architecture (ARM not supported)
|
||
|
||
**Steps:**
|
||
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
|
||
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
||
1. Install this add-on.
|
||
1. Click the `Save` button to store your configuration.
|
||
1. Start the add-on.
|
||
1. Check the logs of the add-on to see if everything went well.
|
||
1. Carefully configure the add-on to your preferences, see the official documentation for for that.
|
||
|
||
**Database Setup:**
|
||
Beware that you need to install a separate postgres addon to be able to connect the database. You can install the postgres addon already in my repository.
|
||
Beware to change the password BEFORE starting it ; it won't change afterwards
|
||
|
||
## Support
|
||
|
||
Create an issue on github, or ask on the [home assistant thread](https://community.home-assistant.io/t/home-assistant-addon-immich/282108/3)
|
||
|
||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||
|
||
|