For a long time I wanted to setup my own cloud to keep my data safe from big tech and I am not new to tinker things the way I personally need them. But my first attempt on nextcloud was a nightmare and I got stuck on things I never would have expected to come up.
What I want to accomplish:
self hosted file, calendar, contacts cloud on a server in my LAN
accessible from Internet to share files with other people
usable without any hustle from typical mobile devices (Android) and Windows
What I already have:
Debian Server (where the cloud shall be hosted)
Working VPN
Hosted Virtual Root Debian Web Server
Working DynDNS
I want to use podman rather than installing and configuring all by myself, but I must admit, that I have no experience with containerization. I recently set up a paperless ngx via podman and this worked like a charm.
The last problem I got stuck on was: The calendar-app could not connect to my nextcloud. AI told me, that this is because I did not set up an https connection and Android would block those connections in general since Version 9. For an https for a LAN server, I would have to set up a self signed certificate and spread this to the trust stores of any device I want to connect → don’t like this. To set up a “Let’s Encrypt” for a LAN server wouldn’t be that easy either (I guess).
And finally: I was just attempting a first step into the nextcloud world. In the final stage, I want to skip the VPN on mobile devices, but still keep the data in my LAN. So I guess, the way to do this would be a subdomain that can get a Let’s Encrypt certificate and points to my server at home (via VPN or other means).
I have no Idea what would be the best practice for this, where I have to read what and before getting the next headache, it would be nice if someone could sort this out for me and point me to the right guide(s) for this.
How is nextcloud all-in-one accomplishing it? Does it have a wizzard that asks, what I want to do?
I don’t think, it will be able to do settings on my firewall or set up a connection between my virtual root webserver and my home network, so what part of my problems will this solve?
Kudos to the great progress you have made already! I presume you are doing all this locally at your location? That’s one step beyond me - so far I have only been using nextcloud and everything else in my tech stack on a self-hosted VPS. That is accessible from everywhere and allows me and everyone I work with to have the access they need. And of course nextcloud allows me to keep local copies of my files in the event of an internet outage.
Nextcloud AIO is the preferred way to self-host nextcloud because it is turnkey and makes it super easy to install and maintain. Even backups are turnkey! AIO is also the officially supported self-hosting method.
Grab a coffee and read through the AIO faq carefully. Let us know your questions!
both are almost the same as AIO but using the community micro-image give you much more flexibility (but steeper learning curve) - it looks you are not a rookie so aio might be not as flexible as you want.
The AIO is “not officially supported” on podman and I do not want to use both docker and podman (podman is already in use and I do not want to migrate that either). If there is an out of the box AIO image for podman, I’d use it.
Finally found the time to look into the given links.
As you already anticipated, I’m not a rookie.
The 101s were points I already was aware of. What I try to do is: accomplish an easy to use self hosted nextcloud on self owned hardware, good security and resilience with minimum effort.
(That sounds like a recipe for desaster, I know)
I am willing to invest some time at the start to get things running, as needed and to expand on that, if there are new requirements in my use case. But after that, it should be more like something you never have to look at again (or at least only briefly once in a while).
Split-Brain DNS → I already have a running piHole and a recursive DNS set up. Guess an override for the subdomain will do the trick.
What I feel I should look into is 101: reverse proxy which may solve the both the VPN “issue” and the SSL-Certificate problem alltogether.
Podman is not supported (…). However you can use and follow the manual-install documentation to get AIO’s containers running with Podman or use Docker rootless
or you simply use community images which AFAIK should run with podman as well.
But I think you will never reach the state it doesn’t need any attention.. many operation tasks will require some attention forever.
Coming from the Discourse universe and having supported people using Discourse, I have become very appreciative of official, supported installation instructions! It’s just alot easier to install, the FAQ is solid, and it’s easier to get help when things go wrong.
Since you’re already committed to podman on your server, if I were you I’d spin up a second server just for nextcloud AIO that uses docker. That way you can experiment freely and get to know nextcloud as it’s intended to be used without messing with your existing setup. Then you can decide if you want to keep it on a separate server or try to install it on your podman server after all.
@inkasso If you really want to minimize maintenance, use AIO with Docker and run it on a dedicated server or in a dedicated VM if you’re using a hypervisor. Treat it like an appliance, because that’s essentially what it is.
If you already have other internet-facing services running on a different server or VM, it’s easy enough to put AIO behind a reverse proxy. In fact, you can probably just use the same reverse proxy that you’re already using for those services.
And if Podman is a must (whether for ideological, or practical reasons), you’ll have to put in more effort, and either use manual-install or follow @wwe’s advice and use the community images. That’s just how it is—there’s no such thing as a free lunch (or free beer), even in the FOSS space (or especially not there)
In the meantime, I have put some more hours to this and I have a running nextcloud server @ home. podman image - not manually installed. A subdomain points to my firewall which does NAT to the server. And there I run a reverse proxy. SSL via Let’s Encrypt with automatic renewal is also setup.
I have some warnings in my Log that I will analyse and hopefully resolve as next steps. Took me about 10 times more time, I originally expected. Now I have to tend to the questions of my “userbase” how to… or what app to…