Jan-Lukas Else

Tech, life and everything else

My updated Home Server setup

Published on in 💭 Thoughts
Updated on
Short link: https://b.jlel.se/s/866
Share this post

I just have to tell you my current state with my migration to OpenCloud

For a few months now, I have used a second-hand HP T640 Thin Client as my home server for Home Assistant and Uptime Kuma. The T640 is a nice little and fanless device. Especially being fanless was my argument to replace the HP EliteDesk 800 G1 USDT and ASRock Deskmini A300 I used before. Even though they are unused now (the Deskmini was already unused for quite some time anyway), I reused some of their components.

From the Deskmini, I reused the memory to upgrade the T640 to 16 GB and the 500 GB NVMe for storage. And just today, I repurposed the big 2 TB SATA SSD from the EliteDesk for additional storage.

That last point also brings me to a big step I did today: As the T640 has no space inside for the 2.5-inch SSD, I repurposed a USB adapter and enclosure I had lying around. Unfortunately, Proxmox (which I used to host a single Alpine Linux LXC container for the two services) had problems with that. That’s why I just decided to drop Proxmox (I don’t need any VMs anyway) and just use NixOS to build a slim container host. After many years and my failed router attempt last year, NixOS again!

But why do I require the additional storage?

Some days ago, I set up OpenCloud on my Hetzner VPS. It uses as a storage backend Hetzner’s Object Storage. I also added an automated restic backup to Scaleway. But three backups are even better, so I also wanted to set up a mirror for all the OpenCloud contents (also for the case that I somehow lose access to all the hosting accounts), which is again backed up using restic to have versions.

I hope with this setup I can finally replace OneDrive.

To ease the OneDrive replacement, I have also added just another new service: PhotoPrism. Mounted via a rclone Docker volume is my photos folder from OpenCloud. That way I also have a nice picture gallery.

Update:

Because Vít Skalický asked, here’s how I mount the OpenCloud photos folder to PhotoPrism without duplicating all files:

services:
    photoprism:
        container_name: photoprism
        image: photoprism/photoprism:251130
        environment:
            # ...
            - PHOTOPRISM_ORIGINALS_PATH=/photoprism/originals
            - PHOTOPRISM_READONLY=true
        volumes:
            - photoprism:/photoprism/storage
            - photoprism-originals:/photoprism/originals:ro
volumes:
    photoprism:
    photoprism-originals:
        driver: rclone
        driver_opts:
            type: "webdav"
            webdav-url: "https://cloud.example.org/remote.php/dav/spaces/.../Pictures"
            webdav-vendor: "infinitescale"
            webdav-user: "user"
            webdav-pass: "obscuredpass"
            allow_other: "true"
            vfs_cache_mode: "minimal"

driver: rclone comes from the rclone Docker Volume Plugin and uses FUSE. Originals are mounted using WebDAV while thumbnails etc. are stored in a local volume. To prevent edits from Photoprism, the WebDAV volume is mounted as read-only and Photoprism is also set to read-only.

Tags: ,

Jan-Lukas Else
Interactions & Comments