Gonna check the apps that you mentioned. Feel free to share more details of your set up. Why are you running 2 instances? Edit: I see, probably for the memories app.
I have an OpenMediaVault VM with a 10tb volume in the network that runs the S3 plugin (Minio-based) which is connected through Nextcloud's external storage feature (I want to migrate to Garage soon). I believe notify_push helps desktop clients cut down on the chatter when querying the external storage folder. Limiting the users that can access this also helps.
I was having issues getting the notify_push app [1] to work in the container with my reverse-proxy. I found some similar setups that did this [2], so I added another nextcloud container to the docker-compose yaml like so:
notify_push:
image: nextcloud
restart: unless-stopped
ports:
- 7867:7867
depends_on:
- app
environment:
- PORT=7867
- NEXTCLOUD_URL=http://<local ip address of docker server>:8081
entrypoint: /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php
volumes:
- /path/to/nextcloud/customapps:/var/www/html/custom_apps
- /path/to/nextcloud/config:/var/www/html/config
[1] - https://apps.nextcloud.com/apps/notify_push[2] - https://help.nextcloud.com/t/docker-caddy-fpm-notify-push-ca...
Once you get everything ingested and the initial classifications and clustering done, the process runs pretty quickly as you upload new photos.
I'm using OPNsense as the main firewall/router, with the HAProxy plugin acting as reverse-proxy. Cloudflare DNS proxies my home IP address and keeps it hidden from the public, and the DDNS plugin in OPNsense updates the A record in CF when my ISP changes my public IP address every few months.
I'm using docker compose to include some supporting containers like go-vod (for hardware transcoding), another nextcloud instance to handle push notifications to the clients, and redis (for caching). I can share some more details, foibles and pitfalls if you'd like.
I initiated a rescan last week, which stacks background jobs in a queue that gets called by cron 2 or 3 times a day. Recognize has been cranking through 10k-20k photos per day, with good results.
I've installed a desktop client on my dad's laptop so he can dump all of the family hard drives we've accumulated over the years. The client does a good job of clearing up disk space after uploading, which is a huge advantage in my setup. My dad has used the OneDrive client before, so he was able to pick up this process very quickly.
Nextcloud also has a decent mobile client that can auto-upload photos and videos, which I recently used to help my mother-in-law upload media from her 7-year-old iPhone.