Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been running Nextcloud in Docker with the Recognize and Memories apps for about a year and half now. It's in an off-lease refurbished Dell Precision tower from 2018.

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.






I run a pretty similar configuration on a pi 4 mounted to an external hard drive which I offload to other hard drives from time to time. The mobile app auto sync specific folders when my phone is connected at the home network. It's not flying performance wise but I mainly need a backup solution.

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.


Memories and Recognize work fine with the base Nextcloud docker image. My host has a GPU so I use go-vod to leverage hardware transcoding. The base NC docker image can't access Nvidia cards (probably other GPUs as well). I could script in a way to do this but would need to run it after each update. Recognize runs fine on my CPU so I haven't explored this yet.

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...


Do you know if there's any way to `Recognize this image now` via the GUI? Whilst twiddling my thumbs for a few decades of photos to import, I go through what's there and occasionally a family member will point and tell me who a pic is of, but can't seem to immediately prioritise or `Recognize` the specific pic so I can add a name to the face.

No way to do it straight from the GUI. If you get the OCC web terminal plugin, you could use a command to get recognize to scan for new files. Properly configured notify_push and cron jobs should get Recognize going within 10-15 minutes after a new file upload, but it depends on what else is in the queue and the server's processing power. The initial runs need to finish before any of this is relevant, though.

Once you get everything ingested and the initial classifications and clustering done, the process runs pretty quickly as you upload new photos.


Who's your host?

selfhosted at home.

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.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: