Self hosted cloud server?

Hey @DadTheTinkerFairy!
Yes, NextCloud can be installed on an Ubuntu Server OS. I have personally installed it via the Docker app, which can be convenient - as it’s isolated from the rest of the system, but due to lack of time, I just have it laying “dormant” on my Raspberry Pi 4 for a while now. But yes, it can be installed and it can run nicely. :slight_smile:

I finally have a functioning Nextcloud server on my RPI!! This has been quite a learning experience.

I had several failed attempts to get Nextcloudpi appliance installed. I simply could not get their download to unzip and install on the SD card to even try it out.

Then I found there is an Ubuntu Nextcloud appliance system as well. I had no problem installing it on an SD card but wasn’t happy with it not having any interface on the Pi itself. Once it was running you couldn’t do anything with it without using remote SSH or the Nextcloud browser interface.

I decided that I really wanted a system with a GUI that had Nextcloud running on on it, but I also don’t want to have a full fledged PC running 24/7 to host it.

In the midst of all this experimentation, I found the new 64bit Pi OS and and liked how it works and that you can run TeamViewer on it for remote access. Once I learned that you can run Nextcloud on it through the Snap store, I knew this would be my solution.

I now have a very low power consumption server with a GUI running that I can remote connect to without SSH.

3 Likes

Looks like I have some more work to do.

I had transferred some photos and videos to it for testing. Everything was working great until I rebooted the system to make sure everything comes back up automatically.

Nextcloud and TeamViewer came up but the external SSD didn’t. When I did get the it mounted, all of the data is gone. I guess the super cheap generic SSD I bought on eBay is a dud. Going to have to invest in a good one before I start using it.

I just ran into another snag. I was going to tinker with this some more and couldn’t get it to boot up. Thought I broke it or something then decided to try the SD card that has Ubuntu on it and it worked fine. Starting to look like the Walmart house brand SD card that the Pi OS is on won’t work any more. The files can still be seen on it but it won’t boot from it.

I installed the PI OS on a different card and it boots. Guess I get to do all the setup all over again. At least I know how to do it now.

Hey @DadTheTinkerFairy!
When you mounted the SSD and you opened it up, does it show no files installed? The reason I’m asking is because when NextCloud starts, it looks for the connected drives it previously had configured. If it doesn’t find them, then it doesn’t connect them to the service.

I personally use NextCloud via Docker, connected to the MariaDB service, as it allows for extensive multi-client syncing without issues. From some research, I discovered that - if you have Apache installed - it can hinder NextCloud. One way to get NextCloud bypass the issue is via:

sudo systemctl stop apache2
sudo systemctl disable apache2

However, this wil be moot if your SSD - when mounted - appears empty. If it’s not empty, then you can open the Disks application, select your SSD, and then go to the right pane with the big, long bar and hit the little gearbox under it. It will give you a small menu. Select the “Edit Mount Options”.

This will bring a new window, where you’ll need to disable the automatic settings and then activate the automatic mount. If that doesn’t work, then we’ll need to go deeper into setting the respective values into the fstab file. That one sets the drive mounts on boot. However, the process can be a tad bit tedious and one mistake may stop your system from booting.

However, all the above are vaild if your SSD can still hold files on it.

1 Like

During my research on SD cards, I’ve noticed that manufacturers tend to highly recommend the SanDisk cards. Some of them won’t even offer support for other cards, as they deem them unreliable.

1 Like

Thanks for the reply.

The SSD actually lost the data, Sometimes the drive won’t even be recognized as being formatted when connected. It is definitely not reliable. There may be issues with the automatic mounting settings as well. It is entirely possible that my monkeying will the fstab screwed up the bootload.

I have it running on a fresh install of the 64bit Pi OS on the SanDisk SD card that came with the kit. I just need to get a reliable SSD to proceed.

1 Like

I completely understand. I’d recommend a Samsung EVO or a SanDisk SSD. So far, I’ve had a really good experience with them.

Okay. I got a Samsung T7 external SSD that is working well so far. I have started loading photos onto it to get familiar with it and the App. The out of the box setup for Nextcloud seems to only be good for access on my local network via http, which is fine, I can use TeamViewer if I ever need to connect from outside. The built is security scan tells me I should setup https for secure connection, I just don’t know if this is necessary or not.

Another snag I ran into is that without a monitor connected at boot up, it doesn’t turn on the GPU or something, so when you remote connect to it the GUI is ridiculously slow. I found a place in the settings to specify screen resolution for headless operation. That helped somewhat but the lag was still too much to be useable.

I ordered an HDMI dummy plug that is supposed to work for any resolution up to 4K and a micro HDMI adapter. This solves the lag problem but seems it will only work at 4K resolution because no other options show up in the menu. Since I am not remote connecting from the 55 inch TV in the living room, everything is way too small to be useable like this.

This led me to another adventure learning how to edit the /boot/config.txt file to force it to run 1080p, which with extra large icons in the settings is working much better.

One way is to force XRANDR to prepare a new resolution for you via terminal:
https://medium.com/@AbhiXpert/add-change-the-custom-resolution-of-your-display-using-xrandr-on-ubuntu-18-04-in-a-minute-338caec6e29

Another one would be - if you’re using Gnome as your desktop environment, to go to the Monitor display settings and select the 200% resolution display. This will double-scale things up to make them much easier for you to read and work with. :wink:

1 Like

Here it is. The micro sized, budget friendly, low power consumption, personal server. Mounted to a scrap piece of plywood with dual lock Velcro. It is now, hidden away, screwed to the wall in the pantry next to the WiFi router.

I haven’t seen it use more than 1.2GB of RAM so it could comfortably run on the 4GB model to save a few dollars. I would definitely use the Pi4 model so you can run the 64 bit OS.

3 Likes

This is my “fancy” :laughing: set too. The NAS holds the cloud inside - plus a regular backup system and shared Samba drive. The tiny guy above holds my MacBooks’ data.

3 Likes

those connectors are HDMI-mini, same as on some digital cameras. cables with mini connector on one end and standard connector on the other are readily available.

1 Like

Right. I had to buy a micro-HDMI to HDMI adapter to connect the HDMI dummy plug as they are only available in the standard HDMI size.

Is there any reason why I couldn’t run Pi Hole on this machine at the same time?

I haven’t tried Pi Hole personally, so I can’t attest to the possibility of any conflicts that there might be. Normally, there shouldn’t be any, unless you’re using PowerDNS.
Speaking of which, now that I just looked at it, you’ll need to assign a domain name for Pi Hole to work, which means opening the respective ports on your router. However, I can’t be certain which ports might be blocked at the ISP (Internet Service Provider) level (I know most block the email ones). On the domain level, you might also need a DynamicDNS service, as nearly all ISPs offer dynamic IP addresses, which change at certain intervals.

1 Like

I did some looking at the pi hole forums and it seems like they can run together but there may be some port conflicts that would have to be resolved and it is advised to put it in a container with Docker. Maybe I should have Nextcloud in a container too?? I don’t really understand the purpose or benefits of this.

Docker is a decent-sized chapter to learn. What it does is create independent, sandboxed versions of each application that is completely isolated from the rest of your system. This can be a great thing to keep big apps running apart from each other, but it can get tricky during updates or when you need apps to work with each other (like NextCloud and MariaDB, which is the ideal database).

I have NextCloud running on docker on my NAS. It is safe, but it can be a bit limiting on getting it to work with other applications or expansions to NextCloud.

I found this great video that explains Docker.

I did a bunch of reading on the NextCloud forums and the PiHole forums about the port conflict issue.
The problem is that both are setup to use port 80 out of the box. It sounds like PiHole must use port 80 so that when you set your router DNS to the IP of the PiHole system, it knows how to reach it. This means that the NextCloud port must be changed so that you can access it using that same IP with a different port suffix.
Unfortunately, I haven’t been able to find noob understandable instructions on how to do this without breaking NextCloud. Most of the discussion shows command line to change the port for NextCloud and reference to changing it for Apache as well but doesn’t explain what that means or how to do it.
I have Docker installed now, but thought it would be best to get NextCloud working on a different port before installing PiHole. I guess I’ll just try it, see what happens, and change it back if it doesn’t work.

1 Like

Now I just watched a video on setting up PiHole in a container with a unique IP so there are no port conflicts. This may be a actually better solution. I gotta look into this more.

Edit
On second thought, this might not work as as I am using a reserved address for the Pi in the DHCP server on my router which is attached to the MAC of its NIC.