Use symlinks

This commit is contained in:
Alexandre
2025-02-18 13:37:08 +00:00
parent fc84d82a6e
commit e434f7392e
26 changed files with 644 additions and 1581 deletions

338
immich_2/CHANGELOG.md Normal file
View File

@@ -0,0 +1,338 @@
## 1.126.1-9 (17-02-2025)
- Minor bugs fixed
## 1.126.1-7 (16-02-2025)
- RISK OF BREAKING CHANGE : backup both immich & postgres before starting
- RISK OF BREAKING CHANGE : rewrite and improve database creation tool using addon options (overwritting manual database creation)
- SECURITY FIX : avoid hardcoding the postgres root password and change it if was already applied
- NEW FUNCTION : allow to define a library path outside of the data location. For example, if you specify /mnt/NAS/MyPictures as "library_location", and /mnt/NAS/Immich as "data_location", it will then create the whole structure in /mnt/NAS/Immich including the /mnt/NAS/Immich/library. However, this will just be a symlink to /mnt/NAS/MyPictures ; allowing people to still manage their hard drives in a more linear manner
- Ensure host is reachable before starting
- Autocorrect homeassistant.local to local ip
- Align configuration with /addon_configs
- Add gpu access
## 1.126.1 (15-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.7 (01-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.2 (25-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.124.2-2 (11-01-2025)
- Minor bugs fixed
## 1.124.2 (11-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.123.0 (21-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.3 (14-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.1-4 (10-12-2024)
- Fix compatibility with postgres 15 addon
## 1.122.1-3 (08-12-2024)
- Fix healthcheck (thanks @red-avtovo)
## 1.122.1-2 (08-12-2024)
- Minor bugs fixed
## 1.122.1 (07-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.121.0 (23-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.2 (16-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.1 (09-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.119.1 (02-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.118.2 (19-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.117.0 (05-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.116.2 (28-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.115.0 (14-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.114.0 (07-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.113.0 (31-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.112.1 (17-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.111.0 (03-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.110.0 (27-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.109.2 (20-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.108.0 (13-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.107.2 (06-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.106.4-3 (24-06-2024)
- Minor bugs fixed
## 1.106.4-2 (15-06-2024)
- Minor bugs fixed
## 1.106.4 (15-06-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.105.1 (18-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.103.1 (04-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.102.3 (27-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.101.0 (06-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.100.0 (30-03-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.99.0 (23-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.2 (16-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.1 (09-03-2024)
- Minor bugs fixed
## 1.98.0 (09-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.97.0 (02-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.95.1 (24-02-2024)
- Update to latest version from imagegenius/docker-immich
## 1.94.1 (03-02-2024)
- Update to latest version from imagegenius/docker-immich
- ⚠ PLEASE BACKUP before updating! Non reversible changes
- ⚠ BREAKING change : dependency on the update postgres image for vector.rs support, it will not work if you do not update postgres !
- ⚠ Database location changed from /data to /addon_configs/xxx-postgres : no expected user impact other that all configuration files will also be located in this folder accessible with addons such as Filebrowser
## 1.90.2 (09-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.89.0 (02-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.2-3 (27-11-2023)
- Minor bugs fixed
- Fix : add REVERSE_GEOCODING_DUMP_DIRECTORY in config environment
## 1.88.2 (25-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.1-7 (24-11-2023)
- Minor bugs fixed
## 1.88.1-6 (23-11-2023)
- Minor bugs fixed
## 1.88.1-5 (23-11-2023)
- Minor bugs fixed
- Fixed REDIS error
## 1.88.1 (21-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.87.0 (19-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.86.0 (18-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.85.0 (11-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.84.0 (04-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.82.1 (20-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.81.1 (07-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.79.1-2 (24-09-2023)
- Minor bugs fixed
- Feat : new optional settings for ML workers and timeout https://github.com/alexbelgium/hassio-addons/issues/996
## 1.79.1 (23-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.78.1-6 (22-09-2023)
- Minor bugs fixed
## 1.78.1-5 (21-09-2023)
- Minor bugs fixed
- YOU WILL LOSE DATA : the upstream container has removed the embedded postgres (read more https://github.com/imagegenius/docker-immich/issues/90). You now need to install and configure the postgress add-on from this same repo, and reference it in the addon options. This means you will lose your current database, and will need to recreate it from scratch. Your previous database will still be exported to the file /config/addons_config/immich/old_database.gzip. However exporting it to the postgres container is quite complex and not supported.
- BREAKING CHANGE : referencing the postgres options is now required. You can either install the postgres add-on from my repo, or this one for example : https://github.com/Expaso/hassos-addons/tree/master/timescaledb
- Switch from jammy branch to latest due to deprecation
## 1.78.1 (16-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.77.0 (09-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.2 (27-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.74.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.73.0 (19-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.72.2 (12-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.71.0 (05-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.70.0 (29-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.68.0 (22-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.67.2 (15-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.66.1 (08-07-2023)
- Update to latest version from imagegenius/docker-immich
- Beware that using the built-in Postgres 14 will likely fail at some point. It is recommended to upgrade to an external Postgres 15 database. A solution is the specific addon I've built. See https://github.com/imagegenius/docker-immich/issues/90
## 1.57.1-jammy (27-05-2023)
- Minor bugs fixed
- Switch to jammy branch (new features could break but is required until a separate Postgres addon is made)
## 1.57.1 (27-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.56.1 (19-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.55.1 (13-05-2023)
- Update to latest version from imagegenius/docker-immich
- Feat : cifsdomain added
## 1.54.1 (23-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.54.0 (21-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.53.0-2 (18-04-2023)
- Minor bugs fixed
- Fix : add option `TYPESENSE_ENABLED` https://github.com/alexbelgium/hassio-addons/issues/802
## 1.53.0 (08-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.52.1 (31-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.51.2 (24-03-2023)
- Update to latest version from imagegenius/docker-immich
- Implemented healthcheck
## 1.50.1 (04-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.49.0 (25-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.47.3 (19-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.45.0 (04-02-2023)
- Update to latest version from immich-app/immich
## 1.43.1 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.43.0 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.42.0 (21-01-2023)
- Update to latest version from immich-app/immich
## 1.41.1 (14-01-2023)
- Update to latest version from immich-app/immich
- Initial version

156
immich_2/Dockerfile Normal file
View File

@@ -0,0 +1,156 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# d '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_VERSION
ARG BUILD_FROM
FROM $BUILD_FROM
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
USER root
# Global LSIO modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
ARG CONFIGLOCATION="/config"
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
# Install REDIS
ENV DOCKER_MODS="imagegenius/mods:universal-redis"
# && chmod 777 -R /docker-mods \
# && /./docker-mods/* || ls / \
# && if [ !-f /defaults/redis.conf ]; then echo "Not installed" && exit 1; fi
#ENV DOCKER_MODS=""
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Uses /bin for compatibility purposes
# hadolint ignore=DL4005
RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \
if [ ! -f /bin/bash ] && [ -f /usr/bin/bash ]; then ln -s /usr/bin/bash /bin/bash; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh 00-local_mounts.sh 00-smb_mounts.sh"
# Automatic modules download
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh"
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
# Manual apps
ENV PACKAGES="sudo yamllint pip"
# Automatic apps & bashio
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_autoapps.sh" "/ha_autoapps.sh"
RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh
################
# 4 Entrypoint #
################
# Add entrypoint
ENV S6_STAGE2_HOOK=/ha_entrypoint.sh
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint.sh" "/ha_entrypoint.sh"
# Entrypoint modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint_modif.sh" "/ha_entrypoint_modif.sh"
RUN chmod 777 /ha_entrypoint.sh /ha_entrypoint_modif.sh && /ha_entrypoint_modif.sh && rm /ha_entrypoint_modif.sh
RUN sed -i "s|postgresql-16|postgresql-15|g" /etc/s6-overlay/s6-rc.d/init-test-run/run
# Install dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
lsb-release \
wget \
gnupg && \
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
apt-get update && \
apt-get install -y --no-install-recommends postgresql-client-15
#ENTRYPOINT [ "/usr/bin/env" ]
#CMD [ "/ha_entrypoint.sh" ]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
ENV BUILD_VERSION="${BUILD_VERSION}"
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
# Avoid spamming logs
# hadolint ignore=SC2016
RUN \
# Handle Apache configuration
if [ -d /etc/apache2/sites-available ]; then \
for file in /etc/apache2/sites-*/*.conf; do \
sed -i '/<VirtualHost/a \ \n # Match requests with the custom User-Agent "HealthCheck" \n SetEnvIf User-Agent "HealthCheck" dontlog \n # Exclude matching requests from access logs \n CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog' "$file"; \
done; \
fi && \
\
# Handle Nginx configuration
if [ -f /etc/nginx/nginx.conf ]; then \
awk '/http \{/{print; print "map $http_user_agent $dontlog {\n default 0;\n \"~*HealthCheck\" 1;\n}\naccess_log /var/log/nginx/access.log combined if=$dontlog;"; next}1' /etc/nginx/nginx.conf > /etc/nginx/nginx.conf.new && \
mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \
fi
ENV HEALTH_PORT="8080" \
HEALTH_URL="/api/server/ping"
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

74
immich_2/README.md Normal file
View File

@@ -0,0 +1,74 @@
# Home assistant add-on: immich
⚠️ 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)
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](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)
[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%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!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/immich/stats.png)
## About
Web based files browser.
This addon is based on the [docker image](https://github.com/imagegenius/docker-immich) from imagegenius.
## Configuration
Postgresql can be either internal or external
```yaml
"PGID": "int",
"PUID": "int",
"TZ": "str?",
"cifsdomain": "str?",
"cifspassword": "str?",
"cifsusername": "str?",
"data_location": "str",
"localdisks": "str?",
"networkdisks": "str?",
"DB_HOSTNAME": "str?",
"DB_USERNAME": "str?",
"DB_PORT": "int?",
"DB_PASSWORD": "str?",
"DB_DATABASE_NAME": "str?",
"JWT_SECRET": "str?"
```
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Hass.io add-on.
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
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.
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
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg

66
immich_2/apparmor.txt Normal file
View File

@@ -0,0 +1,66 @@
#include <tunables/global>
profile db21ed7f_qbittorrent flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
# capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/tmp/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

BIN
immich_2/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
immich_2/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -1,338 +0,0 @@
## 1.126.1-9 (17-02-2025)
- Minor bugs fixed
## 1.126.1-7 (16-02-2025)
- RISK OF BREAKING CHANGE : backup both immich & postgres before starting
- RISK OF BREAKING CHANGE : rewrite and improve database creation tool using addon options (overwritting manual database creation)
- SECURITY FIX : avoid hardcoding the postgres root password and change it if was already applied
- NEW FUNCTION : allow to define a library path outside of the data location. For example, if you specify /mnt/NAS/MyPictures as "library_location", and /mnt/NAS/Immich as "data_location", it will then create the whole structure in /mnt/NAS/Immich including the /mnt/NAS/Immich/library. However, this will just be a symlink to /mnt/NAS/MyPictures ; allowing people to still manage their hard drives in a more linear manner
- Ensure host is reachable before starting
- Autocorrect homeassistant.local to local ip
- Align configuration with /addon_configs
- Add gpu access
## 1.126.1 (15-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.7 (01-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.2 (25-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.124.2-2 (11-01-2025)
- Minor bugs fixed
## 1.124.2 (11-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.123.0 (21-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.3 (14-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.1-4 (10-12-2024)
- Fix compatibility with postgres 15 addon
## 1.122.1-3 (08-12-2024)
- Fix healthcheck (thanks @red-avtovo)
## 1.122.1-2 (08-12-2024)
- Minor bugs fixed
## 1.122.1 (07-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.121.0 (23-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.2 (16-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.1 (09-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.119.1 (02-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.118.2 (19-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.117.0 (05-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.116.2 (28-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.115.0 (14-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.114.0 (07-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.113.0 (31-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.112.1 (17-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.111.0 (03-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.110.0 (27-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.109.2 (20-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.108.0 (13-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.107.2 (06-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.106.4-3 (24-06-2024)
- Minor bugs fixed
## 1.106.4-2 (15-06-2024)
- Minor bugs fixed
## 1.106.4 (15-06-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.105.1 (18-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.103.1 (04-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.102.3 (27-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.101.0 (06-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.100.0 (30-03-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.99.0 (23-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.2 (16-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.1 (09-03-2024)
- Minor bugs fixed
## 1.98.0 (09-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.97.0 (02-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.95.1 (24-02-2024)
- Update to latest version from imagegenius/docker-immich
## 1.94.1 (03-02-2024)
- Update to latest version from imagegenius/docker-immich
- &#9888; PLEASE BACKUP before updating! Non reversible changes
- &#9888; BREAKING change : dependency on the update postgres image for vector.rs support, it will not work if you do not update postgres !
- &#9888; Database location changed from /data to /addon_configs/xxx-postgres : no expected user impact other that all configuration files will also be located in this folder accessible with addons such as Filebrowser
## 1.90.2 (09-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.89.0 (02-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.2-3 (27-11-2023)
- Minor bugs fixed
- Fix : add REVERSE_GEOCODING_DUMP_DIRECTORY in config environment
## 1.88.2 (25-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.1-7 (24-11-2023)
- Minor bugs fixed
## 1.88.1-6 (23-11-2023)
- Minor bugs fixed
## 1.88.1-5 (23-11-2023)
- Minor bugs fixed
- Fixed REDIS error
## 1.88.1 (21-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.87.0 (19-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.86.0 (18-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.85.0 (11-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.84.0 (04-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.82.1 (20-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.81.1 (07-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.79.1-2 (24-09-2023)
- Minor bugs fixed
- Feat : new optional settings for ML workers and timeout https://github.com/alexbelgium/hassio-addons/issues/996
## 1.79.1 (23-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.78.1-6 (22-09-2023)
- Minor bugs fixed
## 1.78.1-5 (21-09-2023)
- Minor bugs fixed
- YOU WILL LOSE DATA : the upstream container has removed the embedded postgres (read more https://github.com/imagegenius/docker-immich/issues/90). You now need to install and configure the postgress add-on from this same repo, and reference it in the addon options. This means you will lose your current database, and will need to recreate it from scratch. Your previous database will still be exported to the file /config/addons_config/immich/old_database.gzip. However exporting it to the postgres container is quite complex and not supported.
- BREAKING CHANGE : referencing the postgres options is now required. You can either install the postgres add-on from my repo, or this one for example : https://github.com/Expaso/hassos-addons/tree/master/timescaledb
- Switch from jammy branch to latest due to deprecation
## 1.78.1 (16-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.77.0 (09-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.2 (27-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.74.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.73.0 (19-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.72.2 (12-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.71.0 (05-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.70.0 (29-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.68.0 (22-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.67.2 (15-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.66.1 (08-07-2023)
- Update to latest version from imagegenius/docker-immich
- Beware that using the built-in Postgres 14 will likely fail at some point. It is recommended to upgrade to an external Postgres 15 database. A solution is the specific addon I've built. See https://github.com/imagegenius/docker-immich/issues/90
## 1.57.1-jammy (27-05-2023)
- Minor bugs fixed
- Switch to jammy branch (new features could break but is required until a separate Postgres addon is made)
## 1.57.1 (27-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.56.1 (19-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.55.1 (13-05-2023)
- Update to latest version from imagegenius/docker-immich
- Feat : cifsdomain added
## 1.54.1 (23-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.54.0 (21-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.53.0-2 (18-04-2023)
- Minor bugs fixed
- Fix : add option `TYPESENSE_ENABLED` https://github.com/alexbelgium/hassio-addons/issues/802
## 1.53.0 (08-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.52.1 (31-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.51.2 (24-03-2023)
- Update to latest version from imagegenius/docker-immich
- Implemented healthcheck
## 1.50.1 (04-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.49.0 (25-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.47.3 (19-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.45.0 (04-02-2023)
- Update to latest version from immich-app/immich
## 1.43.1 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.43.0 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.42.0 (21-01-2023)
- Update to latest version from immich-app/immich
## 1.41.1 (14-01-2023)
- Update to latest version from immich-app/immich
- Initial version

1
immich_cuda/CHANGELOG.md Symbolic link
View File

@@ -0,0 +1 @@
../immich/CHANGELOG.md

View File

@@ -1,156 +0,0 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# d '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_VERSION
ARG BUILD_FROM
FROM $BUILD_FROM
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
USER root
# Global LSIO modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
ARG CONFIGLOCATION="/config"
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
# Install REDIS
ENV DOCKER_MODS="imagegenius/mods:universal-redis"
# && chmod 777 -R /docker-mods \
# && /./docker-mods/* || ls / \
# && if [ !-f /defaults/redis.conf ]; then echo "Not installed" && exit 1; fi
#ENV DOCKER_MODS=""
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Uses /bin for compatibility purposes
# hadolint ignore=DL4005
RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \
if [ ! -f /bin/bash ] && [ -f /usr/bin/bash ]; then ln -s /usr/bin/bash /bin/bash; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh 00-local_mounts.sh 00-smb_mounts.sh"
# Automatic modules download
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh"
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
# Manual apps
ENV PACKAGES="sudo yamllint pip"
# Automatic apps & bashio
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_autoapps.sh" "/ha_autoapps.sh"
RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh
################
# 4 Entrypoint #
################
# Add entrypoint
ENV S6_STAGE2_HOOK=/ha_entrypoint.sh
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint.sh" "/ha_entrypoint.sh"
# Entrypoint modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint_modif.sh" "/ha_entrypoint_modif.sh"
RUN chmod 777 /ha_entrypoint.sh /ha_entrypoint_modif.sh && /ha_entrypoint_modif.sh && rm /ha_entrypoint_modif.sh
RUN sed -i "s|postgresql-16|postgresql-15|g" /etc/s6-overlay/s6-rc.d/init-test-run/run
# Install dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
lsb-release \
wget \
gnupg && \
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
apt-get update && \
apt-get install -y --no-install-recommends postgresql-client-15
#ENTRYPOINT [ "/usr/bin/env" ]
#CMD [ "/ha_entrypoint.sh" ]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
ENV BUILD_VERSION="${BUILD_VERSION}"
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
# Avoid spamming logs
# hadolint ignore=SC2016
RUN \
# Handle Apache configuration
if [ -d /etc/apache2/sites-available ]; then \
for file in /etc/apache2/sites-*/*.conf; do \
sed -i '/<VirtualHost/a \ \n # Match requests with the custom User-Agent "HealthCheck" \n SetEnvIf User-Agent "HealthCheck" dontlog \n # Exclude matching requests from access logs \n CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog' "$file"; \
done; \
fi && \
\
# Handle Nginx configuration
if [ -f /etc/nginx/nginx.conf ]; then \
awk '/http \{/{print; print "map $http_user_agent $dontlog {\n default 0;\n \"~*HealthCheck\" 1;\n}\naccess_log /var/log/nginx/access.log combined if=$dontlog;"; next}1' /etc/nginx/nginx.conf > /etc/nginx/nginx.conf.new && \
mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \
fi
ENV HEALTH_PORT="8080" \
HEALTH_URL="/api/server/ping"
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

1
immich_cuda/Dockerfile Symbolic link
View File

@@ -0,0 +1 @@
../immich/Dockerfile

View File

@@ -1,74 +0,0 @@
# Home assistant add-on: immich
⚠️ 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)
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](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)
[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%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!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/immich/stats.png)
## About
Web based files browser.
This addon is based on the [docker image](https://github.com/imagegenius/docker-immich) from imagegenius.
## Configuration
Postgresql can be either internal or external
```yaml
"PGID": "int",
"PUID": "int",
"TZ": "str?",
"cifsdomain": "str?",
"cifspassword": "str?",
"cifsusername": "str?",
"data_location": "str",
"localdisks": "str?",
"networkdisks": "str?",
"DB_HOSTNAME": "str?",
"DB_USERNAME": "str?",
"DB_PORT": "int?",
"DB_PASSWORD": "str?",
"DB_DATABASE_NAME": "str?",
"JWT_SECRET": "str?"
```
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Hass.io add-on.
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
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.
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
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg

1
immich_cuda/README.md Symbolic link
View File

@@ -0,0 +1 @@
../immich/README.md

View File

@@ -1,66 +0,0 @@
#include <tunables/global>
profile db21ed7f_qbittorrent flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
# capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/tmp/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

1
immich_cuda/apparmor.txt Symbolic link
View File

@@ -0,0 +1 @@
../immich/apparmor.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_cuda/icon.png Symbolic link
View File

@@ -0,0 +1 @@
../immich/icon.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_cuda/logo.png Symbolic link
View File

@@ -0,0 +1 @@
../immich/logo.png

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_cuda/rootfs Symbolic link
View File

@@ -0,0 +1 @@
../immich/rootfs

View File

@@ -1,338 +0,0 @@
## 1.126.1-10 (17-02-2025)
- Minor bugs fixed
## 1.126.1-7 (16-02-2025)
- RISK OF BREAKING CHANGE : backup both immich & postgres before starting
- RISK OF BREAKING CHANGE : rewrite and improve database creation tool using addon options (overwritting manual database creation)
- SECURITY FIX : avoid hardcoding the postgres root password and change it if was already applied
- NEW FUNCTION : allow to define a library path outside of the data location. For example, if you specify /mnt/NAS/MyPictures as "library_location", and /mnt/NAS/Immich as "data_location", it will then create the whole structure in /mnt/NAS/Immich including the /mnt/NAS/Immich/library. However, this will just be a symlink to /mnt/NAS/MyPictures ; allowing people to still manage their hard drives in a more linear manner
- Ensure host is reachable before starting
- Autocorrect homeassistant.local to local ip
- Align configuration with /addon_configs
- Add gpu access
## 1.126.1 (15-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.7 (01-02-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.125.2 (25-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.124.2-2 (11-01-2025)
- Minor bugs fixed
## 1.124.2 (11-01-2025)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.123.0 (21-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.3 (14-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.122.1-4 (10-12-2024)
- Fix compatibility with postgres 15 addon
## 1.122.1-3 (08-12-2024)
- Fix healthcheck (thanks @red-avtovo)
## 1.122.1-2 (08-12-2024)
- Minor bugs fixed
## 1.122.1 (07-12-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.121.0 (23-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.2 (16-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.120.1 (09-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.119.1 (02-11-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.118.2 (19-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.117.0 (05-10-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.116.2 (28-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.115.0 (14-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.114.0 (07-09-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.113.0 (31-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.112.1 (17-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.111.0 (03-08-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.110.0 (27-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.109.2 (20-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.108.0 (13-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.107.2 (06-07-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.106.4-3 (24-06-2024)
- Minor bugs fixed
## 1.106.4-2 (15-06-2024)
- Minor bugs fixed
## 1.106.4 (15-06-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.105.1 (18-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.103.1 (04-05-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.102.3 (27-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.101.0 (06-04-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.100.0 (30-03-2024)
- Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases)
## 1.99.0 (23-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.2 (16-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.98.1 (09-03-2024)
- Minor bugs fixed
## 1.98.0 (09-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.97.0 (02-03-2024)
- Update to latest version from imagegenius/docker-immich
## 1.95.1 (24-02-2024)
- Update to latest version from imagegenius/docker-immich
## 1.94.1 (03-02-2024)
- Update to latest version from imagegenius/docker-immich
- &#9888; PLEASE BACKUP before updating! Non reversible changes
- &#9888; BREAKING change : dependency on the update postgres image for vector.rs support, it will not work if you do not update postgres !
- &#9888; Database location changed from /data to /addon_configs/xxx-postgres : no expected user impact other that all configuration files will also be located in this folder accessible with addons such as Filebrowser
## 1.90.2 (09-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.89.0 (02-12-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.2-3 (27-11-2023)
- Minor bugs fixed
- Fix : add REVERSE_GEOCODING_DUMP_DIRECTORY in config environment
## 1.88.2 (25-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.88.1-7 (24-11-2023)
- Minor bugs fixed
## 1.88.1-6 (23-11-2023)
- Minor bugs fixed
## 1.88.1-5 (23-11-2023)
- Minor bugs fixed
- Fixed REDIS error
## 1.88.1 (21-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.87.0 (19-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.86.0 (18-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.85.0 (11-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.84.0 (04-11-2023)
- Update to latest version from imagegenius/docker-immich
## 1.82.1 (20-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.81.1 (07-10-2023)
- Update to latest version from imagegenius/docker-immich
## 1.79.1-2 (24-09-2023)
- Minor bugs fixed
- Feat : new optional settings for ML workers and timeout https://github.com/alexbelgium/hassio-addons/issues/996
## 1.79.1 (23-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.78.1-6 (22-09-2023)
- Minor bugs fixed
## 1.78.1-5 (21-09-2023)
- Minor bugs fixed
- YOU WILL LOSE DATA : the upstream container has removed the embedded postgres (read more https://github.com/imagegenius/docker-immich/issues/90). You now need to install and configure the postgress add-on from this same repo, and reference it in the addon options. This means you will lose your current database, and will need to recreate it from scratch. Your previous database will still be exported to the file /config/addons_config/immich/old_database.gzip. However exporting it to the postgres container is quite complex and not supported.
- BREAKING CHANGE : referencing the postgres options is now required. You can either install the postgres add-on from my repo, or this one for example : https://github.com/Expaso/hassos-addons/tree/master/timescaledb
- Switch from jammy branch to latest due to deprecation
## 1.78.1 (16-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.77.0 (09-09-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.2 (27-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.75.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.74.0 (26-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.73.0 (19-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.72.2 (12-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.71.0 (05-08-2023)
- Update to latest version from imagegenius/docker-immich
## 1.70.0 (29-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.68.0 (22-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.67.2 (15-07-2023)
- Update to latest version from imagegenius/docker-immich
## 1.66.1 (08-07-2023)
- Update to latest version from imagegenius/docker-immich
- Beware that using the built-in Postgres 14 will likely fail at some point. It is recommended to upgrade to an external Postgres 15 database. A solution is the specific addon I've built. See https://github.com/imagegenius/docker-immich/issues/90
## 1.57.1-jammy (27-05-2023)
- Minor bugs fixed
- Switch to jammy branch (new features could break but is required until a separate Postgres addon is made)
## 1.57.1 (27-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.56.1 (19-05-2023)
- Update to latest version from imagegenius/docker-immich
## 1.55.1 (13-05-2023)
- Update to latest version from imagegenius/docker-immich
- Feat : cifsdomain added
## 1.54.1 (23-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.54.0 (21-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.53.0-2 (18-04-2023)
- Minor bugs fixed
- Fix : add option `TYPESENSE_ENABLED` https://github.com/alexbelgium/hassio-addons/issues/802
## 1.53.0 (08-04-2023)
- Update to latest version from imagegenius/docker-immich
## 1.52.1 (31-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.51.2 (24-03-2023)
- Update to latest version from imagegenius/docker-immich
- Implemented healthcheck
## 1.50.1 (04-03-2023)
- Update to latest version from imagegenius/docker-immich
## 1.49.0 (25-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.47.3 (19-02-2023)
- Update to latest version from imagegenius/docker-immich
## 1.45.0 (04-02-2023)
- Update to latest version from immich-app/immich
## 1.43.1 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.43.0 (28-01-2023)
- Update to latest version from immich-app/immich
## 1.42.0 (21-01-2023)
- Update to latest version from immich-app/immich
## 1.41.1 (14-01-2023)
- Update to latest version from immich-app/immich
- Initial version

View File

@@ -0,0 +1 @@
../immich/CHANGELOG.md

View File

@@ -1,156 +0,0 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# d '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_VERSION
ARG BUILD_FROM
FROM $BUILD_FROM
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
USER root
# Global LSIO modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh"
ARG CONFIGLOCATION="/config"
RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh
# Install REDIS
ENV DOCKER_MODS="imagegenius/mods:universal-redis"
# && chmod 777 -R /docker-mods \
# && /./docker-mods/* || ls / \
# && if [ !-f /defaults/redis.conf ]; then echo "Not installed" && exit 1; fi
#ENV DOCKER_MODS=""
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Uses /bin for compatibility purposes
# hadolint ignore=DL4005
RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \
if [ ! -f /bin/bash ] && [ -f /usr/bin/bash ]; then ln -s /usr/bin/bash /bin/bash; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh 00-local_mounts.sh 00-smb_mounts.sh"
# Automatic modules download
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh"
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
# Manual apps
ENV PACKAGES="sudo yamllint pip"
# Automatic apps & bashio
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_autoapps.sh" "/ha_autoapps.sh"
RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh
################
# 4 Entrypoint #
################
# Add entrypoint
ENV S6_STAGE2_HOOK=/ha_entrypoint.sh
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint.sh" "/ha_entrypoint.sh"
# Entrypoint modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint_modif.sh" "/ha_entrypoint_modif.sh"
RUN chmod 777 /ha_entrypoint.sh /ha_entrypoint_modif.sh && /ha_entrypoint_modif.sh && rm /ha_entrypoint_modif.sh
RUN sed -i "s|postgresql-16|postgresql-15|g" /etc/s6-overlay/s6-rc.d/init-test-run/run
# Install dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
lsb-release \
wget \
gnupg && \
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
apt-get update && \
apt-get install -y --no-install-recommends postgresql-client-15
#ENTRYPOINT [ "/usr/bin/env" ]
#CMD [ "/ha_entrypoint.sh" ]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
ENV BUILD_VERSION="${BUILD_VERSION}"
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
# Avoid spamming logs
# hadolint ignore=SC2016
RUN \
# Handle Apache configuration
if [ -d /etc/apache2/sites-available ]; then \
for file in /etc/apache2/sites-*/*.conf; do \
sed -i '/<VirtualHost/a \ \n # Match requests with the custom User-Agent "HealthCheck" \n SetEnvIf User-Agent "HealthCheck" dontlog \n # Exclude matching requests from access logs \n CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog' "$file"; \
done; \
fi && \
\
# Handle Nginx configuration
if [ -f /etc/nginx/nginx.conf ]; then \
awk '/http \{/{print; print "map $http_user_agent $dontlog {\n default 0;\n \"~*HealthCheck\" 1;\n}\naccess_log /var/log/nginx/access.log combined if=$dontlog;"; next}1' /etc/nginx/nginx.conf > /etc/nginx/nginx.conf.new && \
mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \
fi
ENV HEALTH_PORT="8080" \
HEALTH_URL="/api/server/ping"
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

1
immich_openvino/Dockerfile Symbolic link
View File

@@ -0,0 +1 @@
../immich/Dockerfile

View File

@@ -1,74 +0,0 @@
# Home assistant add-on: immich
⚠️ 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)
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fimmich%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](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)
[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%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!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/immich/stats.png)
## About
Web based files browser.
This addon is based on the [docker image](https://github.com/imagegenius/docker-immich) from imagegenius.
## Configuration
Postgresql can be either internal or external
```yaml
"PGID": "int",
"PUID": "int",
"TZ": "str?",
"cifsdomain": "str?",
"cifspassword": "str?",
"cifsusername": "str?",
"data_location": "str",
"localdisks": "str?",
"networkdisks": "str?",
"DB_HOSTNAME": "str?",
"DB_USERNAME": "str?",
"DB_PORT": "int?",
"DB_PASSWORD": "str?",
"DB_DATABASE_NAME": "str?",
"JWT_SECRET": "str?"
```
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Hass.io add-on.
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
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.
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
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg

1
immich_openvino/README.md Symbolic link
View File

@@ -0,0 +1 @@
../immich/README.md

View File

@@ -1,66 +0,0 @@
#include <tunables/global>
profile db21ed7f_qbittorrent flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
# capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/tmp/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

View File

@@ -0,0 +1 @@
../immich/apparmor.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_openvino/icon.png Symbolic link
View File

@@ -0,0 +1 @@
../immich/icon.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_openvino/logo.png Symbolic link
View File

@@ -0,0 +1 @@
../immich/logo.png

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 18 B

1
immich_openvino/rootfs Symbolic link
View File

@@ -0,0 +1 @@
../immich/rootfs

View File

@@ -1,22 +0,0 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
MIGRATED=""
PREVIOUS_FOLDER="immich"
# Move main folder
if [ -f /homeassistant/addons_config/"$PREVIOUS_FOLDER"/config.yaml ]; then
bashio::log.warning "----------------------------------------"
bashio::log.warning "Migrating configuration to the new addon"
bashio::log.warning "----------------------------------------"
cp -rnp /homeassistant/addons_config/"$PREVIOUS_FOLDER"/ /config/
mv /homeassistant/addons_config/"$PREVIOUS_FOLDER" "$PREVIOUS_FOLDER"_migrated
if [ -d /config/addons_config ]; then rm -r /config/addons_config; fi
echo "Files moved to /addon_configs/$HOSTNAME"
fi
# Move autoscript
if [ -f /homeassistant/addons_autoscrips/immich.sh ]; then
cp -rnf /homeassistant/addons_autoscrips/"$PREVIOUS_FOLDER".sh /config/ &>/dev/null || true
bashio::log.yellow "... moved "$PREVIOUS_FOLDER".sh from /config/addons_autoscripts to /addon_configs/$HOSTNAME"
fi

View File

@@ -1,95 +0,0 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e
######################
# GENERAL PARAMETERS #
######################
if bashio::config.has_value "PUID"; then
PUID="$(bashio::config 'PUID')"
else
PUID=0
fi
if bashio::config.has_value "PGID"; then
PGID="$(bashio::config 'PGID')"
else
PGID=0
fi
##########################
# MIGRATIONS AND UPDATES #
##########################
# Clean typesense
if [ -d /data/typesense ]; then
rm -r /data/typesense
fi
#################
# DATA_LOCATION #
#################
bashio::log.info "Setting data location"
DATA_LOCATION="$(bashio::config 'data_location')"
export IMMICH_MEDIA_LOCATION="$DATA_LOCATION"
if [ -d /var/run/s6/container_environment ]; then
printf "%s" "$DATA_LOCATION" > /var/run/s6/container_environment/IMMICH_MEDIA_LOCATION
fi
printf "%s\n" "IMMICH_MEDIA_LOCATION=\"$DATA_LOCATION\"" >> ~/.bashrc
echo "... check $DATA_LOCATION folder exists"
mkdir -p "$DATA_LOCATION"
echo "... setting permissions"
chown -R "$PUID":"$PGID" "$DATA_LOCATION"
echo "... correcting official script"
# shellcheck disable=SC2013
for file in $(grep -sril '/photos' /etc); do sed -i "s|/photos|$DATA_LOCATION|g" "$file"; done
if [ -f /photos ]; then rm -r /photos; fi
ln -sf "$DATA_LOCATION" /photos
chown "$PUID":"$PGID" /photos
mkdir -p "$MACHINE_LEARNING_CACHE_FOLDER"
mkdir -p "$REVERSE_GEOCODING_DUMP_DIRECTORY"
chown -R "$PUID":"$PGID" "$MACHINE_LEARNING_CACHE_FOLDER"
chown -R "$PUID":"$PGID" "$REVERSE_GEOCODING_DUMP_DIRECTORY"
chown -R "$PUID":"$PGID" /data
chmod 777 /data
####################
# LIBRARY LOCATION #
####################
if bashio::config.has_value "library_location"; then
LIBRARY_LOCATION="$(bashio::config 'library_location')"
bashio::log.info "Setting library location to $LIBRARY_LOCATION. This will not move any of your files, you'll need to do this manually"
mkdir -p "$LIBRARY_LOCATION"
chown -R "$PUID":"$PGID" "$LIBRARY_LOCATION"
# Check if the existing library is a directory and not a symlink and has contents
if [ -d "$DATA_LOCATION/library" ] && [ ! -L "$DATA_LOCATION/library" ] && [ "$(ls -A "$DATA_LOCATION/library")" ]; then
bashio::log.yellow "-------------------------------"
bashio::log.warning "Library folder in $DATA_LOCATION/library already exists, is a real folder, and is not empty. Moving to $DATA_LOCATION/library_old"
bashio::log.yellow "-------------------------------"
mv "$DATA_LOCATION/library" "$DATA_LOCATION/library_old"
sleep 5
fi
# Create symbolic link only if it doesn't already exist or is incorrect
if [ ! -L "$DATA_LOCATION/library" ] || [ "$(readlink -f "$DATA_LOCATION/library")" != "$LIBRARY_LOCATION" ]; then
ln -sf "$LIBRARY_LOCATION" "$DATA_LOCATION/library"
fi
fi
##################
# REDIS LOCATION #
##################
echo "sed -i \"s=/config/redis=/data/redis=g\" /etc/s6*/s6*/*/run" >> /docker-mods
echo "sed -i \"s=/config/log/redis=/data/log=g\" /etc/s6*/s6*/*/run" >> /docker-mods
mkdir -p /data/redis
mkdir -p /data/log
chmod 777 /data/redis
chmod 777 /data/log

View File

@@ -1,196 +0,0 @@
#!/usr/bin/env bashio
# shellcheck shell=bash
# shellcheck disable=SC2155,SC2016
set -e
# Function to export options from JSON to env variables
export_options() {
local json_source="/data/options.json"
bashio::log.info "Exporting addon options from ${json_source}"
# Get all keys and export their raw values
mapfile -t keys < <(jq -r 'keys[]' "${json_source}")
for key in "${keys[@]}"; do
local value
value=$(jq -r ".${key}" "${json_source}")
if bashio::config.false "verbose" || [[ "$key" == *"PASS"* ]]; then
bashio::log.blue "${key}=******"
else
bashio::log.blue "${key}='${value}'"
fi
export "${key}=${value}"
done
}
# Function to check and adjust DB_HOSTNAME if necessary
check_db_hostname() {
if [[ "$DB_HOSTNAME" == "homeassistant.local" ]]; then
local host_ip
host_ip=$(bashio::network.ipv4_address)
host_ip=${host_ip%/*}
export DB_HOSTNAME="$host_ip"
bashio::log.warning "DB_HOSTNAME was set to homeassistant.local. Using detected IP: $DB_HOSTNAME"
fi
if ! ping -c 1 -W 3 "$DB_HOSTNAME" >/dev/null 2>&1; then
bashio::log.warning "------------------------------------"
bashio::log.warning "DB_HOSTNAME ($DB_HOSTNAME) is not reachable."
bashio::log.warning "Please set it to the IP address of your database."
bashio::log.warning "The addon will stop until this is fixed."
bashio::log.warning "------------------------------------"
sleep 30
bashio::addon.stop
else
echo "$DB_HOSTNAME is reachable."
fi
}
# Function to migrate internal database to external storage if needed
migrate_database() {
if [ -f /share/postgresql_immich.tar.gz ]; then
bashio::log.warning "Previous database export found at /share/postgresql_immich.tar.gz"
elif [ -d /data/postgresql ]; then
bashio::log.warning "Internal Postgres database detected. Migrating to /share/postgresql_immich.tar.gz"
tar -zcvf /share/postgresql_immich.tar.gz /data/postgresql
rm -rf /data/postgresql
fi
}
# Function to validate required configuration values
validate_config() {
local missing=false
for var in DB_USERNAME DB_HOSTNAME DB_PASSWORD DB_DATABASE_NAME DB_PORT JWT_SECRET; do
if ! bashio::config.has_value "${var}"; then
bashio::log.error "Missing required configuration: ${var}"
missing=true
fi
done
if [ "$missing" = true ]; then
bashio::exit.nok "Please ensure all required options are set."
fi
}
# Function to export DB variables to s6 environment if applicable
export_db_env() {
if [ -d /var/run/s6/container_environment ]; then
for var in DB_USERNAME DB_PASSWORD DB_DATABASE_NAME DB_PORT DB_HOSTNAME JWT_SECRET; do
printf "%s" "${!var}" > "/var/run/s6/container_environment/${var}"
done
fi
}
# Function to set up the root user with a secure password
setup_root_user() {
# Generate DB_ROOT_PASSWORD if not set (12-character alphanumeric).
if bashio::config.has_value "DB_ROOT_PASSWORD"; then
export DB_ROOT_PASSWORD="$(bashio::config 'DB_ROOT_PASSWORD')"
else
bashio::log.warning "DB_ROOT_PASSWORD not set. Generating a random 12-character alphanumeric password and storing it in the addon options."
export DB_ROOT_PASSWORD="$(tr -dc 'A-Za-z0-9' </dev/urandom | head -c12)"
bashio::addon.option "DB_ROOT_PASSWORD" "${DB_ROOT_PASSWORD}"
# Store generated password in the s6 environment if available
if [ -d /var/run/s6/container_environment ]; then
printf "%s" "${DB_ROOT_PASSWORD}" > "/var/run/s6/container_environment/DB_ROOT_PASSWORD"
fi
fi
# Try to connect as root using the default insecure password.
if psql "postgres://root:securepassword@${DB_HOSTNAME}:${DB_PORT}/postgres" -c '\q' 2>/dev/null; then
bashio::log.info "Detected root user with default password. Updating to new DB_ROOT_PASSWORD..."
psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" <<EOF
ALTER ROLE root WITH PASSWORD '${DB_ROOT_PASSWORD}';
EOF
else
# Check if the root user exists.
if ! psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" -tAc "SELECT 1 FROM pg_roles WHERE rolname='root'" | grep -q 1; then
bashio::log.info "Root user does not exist. Creating root user with DB_ROOT_PASSWORD..."
psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" <<EOF
CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD '${DB_ROOT_PASSWORD}';
EOF
else
bashio::log.info "Root user exists with a non-default password. No migration needed."
fi
fi
}
# Function to set up the database
setup_database() {
bashio::log.info "Setting up external PostgreSQL database..."
# Create the database if it does not exist
if ! psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/postgres" -tAc \
"SELECT 1 FROM pg_database WHERE datname='${DB_DATABASE_NAME}';" | grep -q 1; then
bashio::log.info "Database does not exist. Creating it now..."
psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" <<EOF
CREATE DATABASE ${DB_DATABASE_NAME};
EOF
else
bashio::log.info "Database ${DB_DATABASE_NAME} already exists. Ensuring it is configured correctly."
fi
# Ensure the user exists and update its password
psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" <<EOF
DO \$\$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${DB_USERNAME}') THEN
CREATE USER ${DB_USERNAME} WITH ENCRYPTED PASSWORD '${DB_PASSWORD}';
ELSE
ALTER USER ${DB_USERNAME} WITH ENCRYPTED PASSWORD '${DB_PASSWORD}';
END IF;
END
\$\$;
EOF
# Ensure the user has full privileges on the database
psql "postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}" <<EOF
GRANT ALL PRIVILEGES ON DATABASE ${DB_DATABASE_NAME} TO ${DB_USERNAME};
EOF
bashio::log.info "Database setup completed successfully."
}
# Function to check if vectors extension is enabled
check_vector_extension() {
echo "Checking if 'vectors' extension is enabled..."
RESULT=$(psql "postgres://$DB_USERNAME:$DB_PASSWORD@$DB_HOSTNAME:$DB_PORT" -tAc "SELECT extname FROM pg_extension WHERE extname = 'vectors';")
if [[ "$RESULT" == "vectors" ]]; then
echo "✅ 'vectors' extension is enabled."
exit 0
else
bashio::log.warning "❌ 'vectors' extension is NOT enabled."
return 1
fi
}
#########################
# Main script execution #
#########################
export_options
check_db_hostname
migrate_database
validate_config
# Reload DB configuration from the addon options (this ensures we have the correct values)
export DB_USERNAME=$(bashio::config 'DB_USERNAME')
export DB_HOSTNAME=$(bashio::config 'DB_HOSTNAME')
export DB_PASSWORD=$(bashio::config 'DB_PASSWORD')
export DB_DATABASE_NAME=$(bashio::config 'DB_DATABASE_NAME')
export DB_PORT=$(bashio::config 'DB_PORT')
export JWT_SECRET=$(bashio::config 'JWT_SECRET')
export_db_env
setup_root_user
setup_database
check_vector_extension
echo ""
bashio::log.yellow "-----------------------------------------------"
bashio::low.warning "EXPERIMENTAL ADDON, CAN SHUTDOWN YOUR HA DUE TO RESOURCES EXCESSIVE USAGE"
bashio::log.yellow "-----------------------------------------------"
echo ""
sleep 5