New Setup - Feedback RPI4, OMV, NCP, 64 bit

Hi all,

I’ve been using NC on RPI4 for a year or so now and loving it compared with Onedrive, Google etc. and now looking to revise my setup now to 64bit and in doing so

  • sync files >2tb.
  • have better photo management, PhotoPrism etc.
  • cloud office suite etc.

After a few hurdles killing SD cards, running out of space etc. all the n00b moves… :nerd_face: I thought id get some feedback on my plans before launching in.

Current setup (in use)

  • OMV5 w/ extras
  • NC21
  • RPI4 Raspberry OS 32bit w/ SSD

    log2ram
    zram

  • Win10 Client with NC Sync
  • iPhone with NC App
  • Windows AD & file shares

Proposed Setup

  • OMV5 w/extras
  • NCP [64bit] in docker
  • Photo Management: PhotoPrism/LibrePhotos/PicApport in docker (havent decided yet)
  • VPN Server in docker
  • RPI4 Ubuntu 20.04 LTS 64bit w/ SSD

    log2ram
    zram

  • Win10 Client with NC Sync
  • iPhone with NC App
  • Windows AD & file shares

My plan is to spend the weekend and get it knocked out.

  • Backup my current NC21 config & restore it to the NCP 64bit in docker (if this wont work, then reconfigure the NCP install from scratch)
  • Reload my RPI4 w/ SSD to 64bit Ubuntu

    Install OMV5 w/ extras
    Install Docker
    Install, configure NCP in Docker

  • Backup Docker/RPI image so it can be easily restored after all that work!

Originally I had a lot of trouble getting a stable NC install with a lot of tweaks to config files etc. to get sync working, uploads and AD user integration working properly so just want to make sure I plan & note down as much as possible.

Thanks for any input!

Cheers
Ben

with the things you want to run youd might concider running an actual home server with proxmox giving an isolated machine to each service and provide proper ressources to the system. Wich are definitly more than a pi can affort.

@DrJambus thank you for your feedback. This is only for a home server with mainly 1 person using it but im often remote. I do have a VM server that could host this but I thought perhaps I would use the PI as it appeared to be a quicker setup and the current performance is satisfactory.

Do you see a definite resource shortage using this on a PI? I havent used a PI for photo management before but i can see how this would push it over the edge.

With docker, I expect I could easily move it to more powerful hardware if it needed it?

I don’t have direct proof fore my suggestions but nextcloud itself needs around 2GB RAM and about 2 cores to run smoothly. If you can push the rest of the things you want to have on the PI and its running so it is, but i am truely sceptical.

1 Like

I’d say it’s definitely possible however it will take quite a lot of resources of the of Pi so using logs2ram would be unadvised.

Instead consider moving the /root system files/directory over to the SSD and allow the Pi to use the RAM it has for photo management, since it’ll be very much needed.

Also this is a fairly heavy use of a raspberry pi so it kinda depends also on what level of photo management you’re planning on doing.

Is it just keeping your personal collection and things like that it should be fine I think, but if you’re doing professional photography with photos in high image quality, then perhaps not. They use quite a large amount of data and requires the hardware performance to match it for a smooth experience when working with such files.

Personally I’m using an external mechanical HDD via USB 3.0 for my nextcloud on a raspberry pi 4B, 4gb RAM, and I have no issues of managing my photo library of around 2-30Gb, with photos at around 1-2Mb in size up to 5-10Mb for the larger ones with a couple of the highest quality images I have being around 25-50Mb in size.

The only thing I’ve noticed as I’ve used this setup is that the image preview function is not kind to a raspberry pi, so if you’re fine with turning that down and letting your images take longer time to load, it is feasible.

Once again, up to your use case and the level of performance you require if it’s something worth doing or not, apart from the learning experience that is :slight_smile:

@ZendaiOwl thanks for the info. Currently, the RPI runs entirely from the SSD. It is just for muy personal collection and to be up with the times having the entire collection available on the ‘cloud’ and accessible remotely.

What photo solution do you use?

Its looking like itll be a good project for a rainy weekend…

@benkonline No particular solution :slightly_smiling_face:

I’m just storing & managing my personal photos on the raspberry pi via ncp using Files.

If you just want them to be accessible remotely and having them on your personal device then it’s pretty much the same as how I’m using mine.

I’m not doing any kind of photo editing on the raspberry pi, though thinking about it you could technically have a sync to your laptop and do the edits locally and then sync it saving the new changes.

@ZendaiOwl Thats the plan, any editing etc i can do on the laptop with cached version and it will get synced back to NC.

BTW what is your setup?

@benkonline
My setup is a little something like this :slightly_smiling_face:

  • Raspberryi Pi 4B (4Gb RAM)
    – Heatsink
    – Fan
    – Metal case
  • Official RPi power adapter

    This might go without saying however the USB-power adapter ones are actually not good for a RPi intended to be used daily and with any kind of heavier load. The reason being their power delivery isn't stable enough for the RPi SoC meaning it fluctuates ever so slightly, and that slight fluctuation is fine for most general devices.

    However for the RPi and other such devices which are designed to be power efficient and so has precise requirements for the voltage it needs for a certain workload, this leads to a lot of "Under voltage detected" errors in your dmesg logs whenever you place the RPi under any kind of strain. This can if left unattended, lead to a shorter lifespan of your device, especially if it's being used daily and often is under a heavy load. It's an important point and something I learned as I undertook this project so I'll mention it here as well :)

  • SanDisk Extreme 128Gb microSD card UHS 1 class 3 (30MB/s) SD card Speed Classes
    – I only have the /boot system files on the SD card and use it to boot from

  • Seagate Expansion Drive (HDD) 4.0 TiB via USB 3.0
    – Reformatted to EXT4
    – I placed the /root system files in their own partition on the drive, to alleviate the read/write stress of the SD card.
    – The data from Nextcloud is in it’s own partition.

A couple of Security measures I've taken

  • Public-key authentication for SSH
  • Created a new sudo-user which is the only one allowed to SSH in to the device
  • Denied access for default pi user
  • Deleted the ncp admin user and created a new admin user
  • Created a regular user for everyday use
  • Custom port for SSH
  • Closed port 80
  • Disable Web-UI
  • Fail2Ban
  • ModSecurity
  • UFW
  • 2FA
  • Suspicious Login
  • Due to the overhead for the server-wide encryption I instead encrypt the individual files that are important using gpa

1 Like

@ZendaiOwl Thanks for the security tips. Ill look at rebuilding my server this week :slight_smile:

1 Like

incase anyones interested, I’ve got NCP 64bit running in docker on Ubuntu 20.04, speed seems better than before actually. Next step is Wirehole, PhotoPrism and a new program i found SeaTable

ok, forget seatable for now, doenst support ARM :expressionless: