

I like .lgbt
I like .lgbt
I want to improve my notifications. With that I mean emails coming from the server when updates are available when something happens during my rsync backup routines or just when they are completed and so on. Right now I don’t really know when something is happening just when the server is not working anymore.
Yep, I used to sync my Obsidian vault with Syncthing but I had some trouble with it once where stuff wasn’t properly synced and led to conflicts so I switched to paying for Obsidian Sync and have been very happy with it. I was especially happy to see that now offer a cheaper tier that has enough storage if you only sync text files.
Immich is by far the best and most convenient.
I know but I also learned that it’s generally better to use the specific module for the package manager (just can’t remember why from the top of my head) and I never intended this playbook to be generally usable.
The apps service just borked itself and I couldn’t get it to properly start anymore. Also deploying apps always took a ridiculously and annoyingly long time (like about 15 minutes to deploy NPM).
Thank you! 🙂
It should be pretty easy to adapt it for Debian. The only thing you need to change as far as I can see is the usage of the dnf module to the apt module.
If you look inside the file you will see that it’s an encrypted file created via ansible-vault
I added the REDIS_HOSTNAME
and DB_DATA_LOCATION
environment variables.
Not sure if I understood it right, but I guess not since it still doesn’t work:
- name: create Immich network
community.docker.docker_network:
name: immich-network
state: present
- name: deploy Immich-Redis
community.docker.docker_container:
name: immich-redis
image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
restart_policy: always
networks:
- name: immich-network
env:
DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
DB_USERNAME: "{{ immich_postgres_db_user }}"
DB_PASSWORD: "{{ immich_postgres_db_password }}"
DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
- name: deploy Immich-Postgres
community.docker.docker_container:
name: immich-postgres
image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
restart_policy: always
volumes:
- "{{ nvme_mount_point }}/immich/postgres:/var/lib/postgresql/data"
env:
POSTGRES_DB: "{{ immich_postgres_db_name }}"
POSTGRES_USER: "{{ immich_postgres_db_user }}"
POSTGRES_PASSWORD: "{{ immich_postgres_db_password }}"
REDIS_HOSTNAME: immich-redis
networks:
- name: immich-network
- name: deploy Immich-Machine-Learning
community.docker.docker_container:
name: immich-machine-learning
image: ghcr.io/immich-app/immich-machine-learning:release
restart_policy: always
volumes:
- "{{ nvme_mount_point }}/immich/model-cache:/cache"
networks:
- name: immich-network
env:
DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
DB_USERNAME: "{{ immich_postgres_db_user }}"
DB_PASSWORD: "{{ immich_postgres_db_password }}"
DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
REDIS_HOSTNAME: immich-redis
- name: deploy Immich-Microservices
community.docker.docker_container:
name: immich-microservices
image: ghcr.io/immich-app/immich-server:release
restart_policy: always
command: ['start.sh', 'microservices']
volumes:
- "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
- /etc/localtime:/etc/localtime:ro
networks:
- name: immich-network
env:
DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
DB_USERNAME: "{{ immich_postgres_db_user }}"
DB_PASSWORD: "{{ immich_postgres_db_password }}"
DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
REDIS_HOSTNAME: immich-redis
- name: deploy Immich-Server
community.docker.docker_container:
name: immich-server
image: ghcr.io/immich-app/immich-server:release
restart_policy: always
command: ['start.sh', 'immich']
volumes:
- "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
- /etc/localtime:/etc/localtime:ro
ports:
- "2283:3001"
networks:
- name: immich-network
env:
DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
DB_USERNAME: "{{ immich_postgres_db_user }}"
DB_PASSWORD: "{{ immich_postgres_db_password }}"
DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
REDIS_HOSTNAME: immich-redis
This is what I have now and I get the following error in immich-server and immich-microservices:
[Nest] 7 - 05/02/2024, 3:45:01 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...
Error: getaddrinfo ENOTFOUND database
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26)
Edit: It works! I forgot to add DB_HOSTNAME
This confuses me because the default docker-compose.yml from Immich doesn’t set these environment variables.
I recently began learning Ansible and this playlist was very helpful with learning.
I don’t know from the top of my head and I can’t check right now.
Hetzner also supports snapshots and you can upload files uncompressed.
I’m using the Immich app from TrueNAS, how do I properly update it? Or is it being taken care off by TrueNAS?
Edit: I asked on the TrueNAS discord for help and someone who already updated their Immich figured out how to fix the installation afterwards. I copy&paste the guide here:
This guide assumes that Heavyscript is installed and pgAdmin.
https://github.com/Heavybullets8/heavy_script
https://truecharts.org/charts/stable/pgadmin/
Upgrade Immich to v.1.95.1.
If Immich fails to deploy check the logs heavyscript pod --logs immich
. If the logs complain that indexes need to be deleted continue with this guide.
Access the shell for the postgres pod heavyscript pod -s immich
.
Select the postgres
pod.
Inside the pod run env
and record the password. Then type exit
to exit the pod.
Get the DNS address and port for Immich postgres pod. heavyscript dns -a
Launch pgAdmin and right-click on Servers
select Register > Server
.
In the Connection
tab put the hostname and port from step 6. The username is immich and use the password from step 3.
Once connected create a backup by expanding Servers > Immich > Databases
and right-click on immich
then select Backup...
. Follow the prompts to create a backup.
Right-click on immich
and select Query Tool
.
Use the following query to delete your indexes.
FROM pg_index X JOIN
pg_class I ON I.oid = X.indexrelid JOIN
pg_am A ON A.oid = I.relam
WHERE A.amname = 'vectors';
Stop Immich with heavyscript heavyscript app --stop immich
.
Once all pods have scaled down start Immich heavyscript app --start immich
.
The SQL query will complain about a syntax error but it will work regardless. It just takes some time to redeploy immich.
Credit goes to @verbalsiegeengine on Discord
TrueNAS Scale
For me Photoprism is unusable for the simple fact that they don’t support multiple users. Also Photoprism doesn’t have an official app which I can easily use on my phone to sync photos.
You could try hosting a PeerTube instance to host your videos. Or you could find a PeerTube instance to your liking and upload your videos there if you are not ready to host an instance yourself.
I use mine for FreshRSS, Komga, Nextcloud and Syncthing.
I plan on setting up the *arr suite and getting rid of Netflix, Crunchyroll, Amazon Prime and Disney+