Nextcloud on home network

Forgive me for asking such an uneducated question, but I use Nextcloud hosted at one of the cloud server partners. I’d really like to run Nextcloud on my own home network. All the guides are for setting it up on a NAS or old PC or Raspberry PI. I just want to set it up on my desktop, the same PC I use for work. Why can’t I just do that?

It sounds from the way the guides talk, as if Nextcloud server needs to take over a whole machine, (all the guides I’ve read so far include installing a new OS) but I’m sure that my cloud hosts haven’t given over a whole machine just to service my 2GB account, so they must have (if it’s not too naive a metaphor) ‘given me a bit’ of their hard drives. Why can’t I just ‘give a bit’ of my hard drive to run Nextcloud? Or , if I can, what’s so unusual/bad about it that it doesn’t appear in any of the guides?

Hope that helps:
https://ownyourbits.com/nextcloudpi/

Probably because the machine should really be on 24/7 to take full advantage of the software, and most desktops are not on that much. A dedicated server machine tend to be built with a bit more economic hardware/OS (since no graphics card/monitor). You could just follow the guides from the OS installation step if you have an OS that is described in these guides. You don’t even need to dedicate a “slice” of the drive, it will just occupy space as any other program would.

I would just be a bit worried about Backups (having a “slice” of you HDD suggest you will have a single HDD, on a single machine which is just begging for data loss at some point in the future), and a bit higher possibility of ransomeware/malware infection (since the computer running Nextcloud would be more exposed because it has a browser, opens email and run files from the internet).

You could also make a VM for Nextcloud and run on the PC. It would mitigate the malware problem a bit. But then you need to dedicate RAM and CPU threads to the Nextcloud Machine. I would personally recommend a dedicated machine; something second hand or a raspberry PI if money is tight.

Thanks for the reply. One question…

I only want Nextcloud to run in my local network. I don’t ever need to access it from outside. It’s just a way of synchronizing files, calendars, contacts etc between my devices. Is the re something fundamental about the software which means it will inevitably be exposed to the internet, it is that something I can control?

Are you running Linux on this computer? Nextcloud server is Linux software.

Based on the questions you’re asking, I’m not sure you’ll get the expected results from what you’re trying to do.

Yes I’m running Linux.

I’m certainly getting that impression. I’m just unclear as to why.

@jakob1 post should be all you need @Ealdwood. The link states

Run NextCloudPi in any system that supports Docker, in one command.

Just install docker on your box and run the command given in the link. If you are running ubuntu, I think there is a snap package for it.

Well just for the sake of answering your question, one would normally already know the answer to questions such as these through experience before attempting to set up something like Nextcloud. And I don’t say that to be discouraging, but just be prepared to learn a lot of server basics at the same time you’re trying to do this, and be aware that what you end up with may not be a stable system.

As was mentioned, if you have Ubuntu, you can do a very quick and easy installation via snap. That might be the best option for you. Otherwise I would suggest Docker because a lot of the underlying setup is done for you. Snap and Docker both come with the dependencies satisfied and sandboxes so other stuff going on with your machine is far less likely to interfere with Nextcloud.

People use dedicated systems for server applications because it needs to run 24/7 without interference from other processes and events. Raspberry Pi is a good start for this if you decide not to use your desktop computer. Personally I run mine in Docker in a dedicated VMware ESXi virtual machine.

No it will happyly run on a LAN, you will probably have some issues with it complaining that it run over plain http, or invalid https (depending on what you choose). But those things are (mostly) just complaints, it will still work fine. It will not be reachable from the entire internet if you do not forward any ports, any more than it already is as a PC that means

I just want to add some to @KarlF12 s point. It is a very valid one, but it is also a very fun project if you are ready for it. I personally started dealing with Unix OS and own hosting with owncloud (before Nextcloud existed). You should not be discouraged, just be ready that

  • It will take a lot of time
  • You will occationally break it (keep backups!)
  • There will be a lot of reading
  • It will be frustrating sometimes
  • It will be very rewarding when it works
  • You will buy dedicated hardware withing the next year if you found the project fun :upside_down_face:

Good luck, and happy clouding!

I tried it yesterday. Ubuntu 16.04 LTS Software Installation => search nextcloud => click => done, it’s a snap solution. I use it for testing.

1 Like

With Ubuntu Server 18.04, Nextcloud snap install is an option during OS setup. It doesn’t get easier than that.

1 Like

Just to re-iterate. I’m asking what are the pitfalls of setting Nextcloud up on my home PC, and what is the setup procedure, or where might I find a guide to it.

I am not asking how to install Nextcloud on my home PC - It’s pretty obvious how to do that. Find ‘NextCloud’ in some Repository/Docker/Snap/Download and click ‘install’.

Nor am I asking how hard/easy it is - I’ve no doubt I will inevitably find that out.

Nor am I asking if it is possible I could mess it up completely - I’m sure it is.

I just want to know if it can be done, and if so whether there is a guide available to the dozens of setting choices which come after one has clicked on ‘install’ that would explain which are best for a LAN setup on a Desktop PC.

What would you suggest I set up first in order to gain this experience. Is there some smaller but similar project available?

Why would ‘other stuff going on on my machine’ interfere with NextCloud. I don’t understand why any setup would want to allow that to happen?

Great, that’s exactly what I want for now - something which only works on my LAN. I’m quite content to wait until I get home to sync everything and I don’t have to worry as much about security.

Happy with that, but this is what I’m looking for. So far my Google Searches have come up empty of guides for LAN setups with NextCloud running on a Desktop PC, and the guides for things like Pi and NAS don’t explain what they’re doing, they’re just “type this…click that…” and I don’t know if that’s what also needs doing on an LAN/PC system or whether those instructions are specific to the setup in the guide.

If you know of any reading that would explain how the system works, or what all the “type this…click that…” instructions are actually doing, I’d be really grateful for a link. I’m quite happy to spend as much time as it takes to understand how this works, just don’t know where to start is all.

running a debian-(derivative) installation you can probably just follow the “server”-installation-instructions, since there is no real distinction between “server-” and "desktop-"software that would prohibit the installation of either on on the other (disregarding hardware).
i recommend against docker/snap/… because it seems easy to install at first (“one click”) but adds multiple layers of complexity and dependencies.
it will probably be helpful to use a fixed ip for your nextcloud-host and all clients must “know” it or be able to resolve it. also if you are lan-only, you’ll have to use a self-signed ssl-cert.
just install the complete LAMP-stack (or nginx instead of apache) and pay special attention to the required php-modules. you might find the required software faster if you use apt or synaptic (if you like GUI) for installation instead of ubuntu-software. then download the latest nc-version and configure it.
just to state the obvious: if you run it on your desktop-system the ressources will be shared between ALL processes running on that, so if you are transcoding a movie at 100% load nextcloud will be noticeably slower to respond.
GOOD LUCK!

1 Like

No, I’m just speaking of experience and conventions in general. Whenever I hear the phrase “give a bit of my hard drive” it’s a huge red flag. You should absolutely move ahead with this project, and that will be good experience.

Just as an example, the other day I was helping someone who had installed the Nextcloud snap after already installing Apache via apt. Port 80 was in use on his machine, and the snap wouldn’t start as a result.

You’re talking about installing it on a desktop PC. I have no idea what else may be installed on it that could interfere with whatever installation method you choose.

My advice to you is just go for it. The worst thing that’s likely to happen is you uninstall it and start over. You can find the full documentation here, and the procedure is basically the same whether you access it from the internet or not.

https://docs.nextcloud.com/

I’m on Manjaro and use the package manager. That takes care of dependencies. What other layers of ‘complexity’ does the snap version handle? I’m not sure how well snap is supported on Manjaro.

Thanks, I think I will just install it now and deal with the setup one question at a time. At the risk of sounding completely uninitiated in these matter (which, as you can tell, I am) I was not so concerned about things simply not working, but more with me accidentally opening up my personal computer to the entire internet. ‘Not working’ would be fine, I can fix that. Unknowingly turning my PC into an unsecured webhost, however…

It’s true that snap and Docker add complexity because you now have to know some things about snap and Docker. However, I disagree that they add dependencies. Both of them eliminate dependencies.

Docker images contain a stable set of dependencies so that the software is no longer dependent upon any packages on the host server.

Snap does this too by installing and sandboxing a separate instance of everything needed by the package. You won’t find an easier installation than snap, but I usually don’t recommend it for two reasons: 1.) I’m not comfortable with the way it stores data, and 2.) if you decide you want SMB external storage support one day, you’re up a creek.

As far as being accessible to the internet, that’s all down to what you put in your firewall.

So. I’ve decided to finally set aside some time to do this and hit my first query already. I think I’ve got my head around what a web server does (serves web pages) and that Nextcloud is a service designed to run from a web server.

So I’m about to install nginx on my machine. I looked up the instructions for setting up a home server and found quite a long and convoluted set of codes, which is fine, I can follow those, but I don’t understand what the difference is between following these long complicated instructions and following the ‘web installer’ “Right-click here and save the file to your computer - Upload setup-nextcloud.php to your web space”

If I’ve got a web space on my home pc (because I’ve just installed a web server on it), then why can’t I just follow those two instructions to get Nextcloud on it?

It doesn’t mention doing so anywhere in the guide.

Hold on, take a step back and answer this first:

  1. Are you still doing this on Manjaro? That’s fine if so, but just keep in mind the more fringe of a distro you use, the less testing there has been, increasing the possibility of unforeseen issues.
  2. What installation method have you chosen (manual, snap, docker, distri’s package mgr)? It sounds like you intend to do manual installation on Manjaro with nginx for the web server but I wanted to confirm since some time has passed.

Thanks for getting back to me.

Yes, still using Manjaro, happy to accept a little unforeseen complication (as long as accidentally publishing my bank details to the internet isn’t one of them). If it doesn’t work on Manjaro it’s probably not worth me doing it. At the moment (until I move on to a bigger system) this is just a file and calendar sharing method over my LAN, nothing more, so if it doesn’t work with Manjaro, I’ll just revert to sharing things manually.

I theoretically have chosen to try the package manager install. Nextcloud is in the Manjaro distro, so that usually means it’s been tested and works. I haven’t used snaps and dockers before and I don’t really want to try two new things at once.

However, having said all that, the current plan (which I’m asking about) would be to set up nginx, obtain a locally hosted webdomain by that means, and then use the Nextcloud web installer php. But that just seems far too simple for a method that’s not actually advised anywhere I can find, hence my confusion.

Okay, if you’re unzipping Nextcloud into a folder for nginx, that’s the manual method. If you’re using apt or rpm then that’s a distro package.

I may not be able to help you with nginx as I use Apache and haven’t messed with it, but instructions for it are in the official documentation.

This may be oversimplifying a little, but you do actually unzip it in a folder under your web root and then go to the web page.