Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
OwnCloud Infinite Scale might be the option you missed?
Nextcloud was forked from the PHP Owncloud some years back, and they added all the apps and things. But Owncloud is like Nextcloud but focused only on the files.
I am a bit concerned that you're talking about not wanting HTTPS and see it as a bad thing that something requires it. Given you can get free certificates these days, why would you not want a secure connection? Even if you're accessing via a VPN to server tunnel, I see no reason not to have it.
I hadn't considered OwnCloud because I thought it was pretty much the same as NextCloud but mainly aimed at enterprise. Does it have any advantages over Nextcloud?
I haven't got round to setting up https yet since I only access my server via my LAN or Tailscale. When I do get round to setting it up I might use a reverse proxy rather than configuring it for every service. I also need to work out how to do automatic certificate renewal and if that's even worth doing, so I don't want to be forced into half-assing it for Nextcloud before I'm ready to do it properly. With Nextcloud specifically I also don't like the fact that you can't change the domain after the initial setup, using the community edition via http seems to get round that problem as well
Use Caddy for reverse proxy. It's magic. Just put in config the subdomain/domain and localhost port to point to, it will fetch and configure and keep certificates up to date with zero effort. You'll forget certificates exist. It just works.
This is what certbot is for. For example, with nginx, you just set up the webserver to be reachable via your domain.
You then install and run certbot, and it will aquire, install and configure, and then set itself up to auto-renew, a certificate. All with just one command.
Yes you can?
I've done it thrice now.
Is this some limitation of the docker AIO stack?
How do you change the domain? That was one of the biggest things putting me off
Locate and edit the config/config.php. There is a line that starts with 'trusted_domains' Add your new domain thusly:
You'll have to update your web server configuration, your DNS records, and you may have to clear any server cache you may have.
ETA: Ooops! Forgot to add citation: https://help.nextcloud.com/t/howto-add-a-new-trusted-domain/26
That's the one.
Thanks for the backup. LOL I get nervous sharing code. Sure it worked for me, but in the back of my head I see some poor guy deploying any code I've used and smoke starts coming out of his server, the front cover falls off, and his Ethernet cable is belched out the back. LOL
Owncloud Infinite Scale was a rewrite of the codebase to get away from PHP. In theory this should be better able to run on lower end hardware. People tend to say they use it if they are only wanting the file part and not all the apps. Personally I use Nextcloud because I want the apps.
Automatic certificate renewal is built into many reverse proxies, and can be done for free, so I don't see a reason not to do it.
Nextcloud has federation of some features so I'd guess that would be a key reason you can't change the domain (you also can't change a Lemmy domain once set up). However, you're using it for file sync for yourself, right? Regardless of what you pick (even Nextcloud), you could surely just set up a new instance under the new domain then move all your files over.
Do you have any recommendations for a reverse proxy to use or resources on how to set one up? It's not something I've properly looked into yet
Check out caddy. Very straight forward syntax for a reverse proxy.
Others might have suggestions. I run everyhting in docker. I then use Traefik as the reverse proxy in docker, where you add labels to the containers you want it to handle and it works things out on it's own. I have also configured it to do certificates automatically, including automatic domain validation using a Cloudflare API.
Caddy and Nginx Proxy Manager are other popular ones that can configure HTTPS certificates for you.
You don't have to overthink it. Choose a reverse proxy you like. If it does automatic certificates, that's great. If not, Let's Encypt (which most of these services use for the free certificates) have a certbot program you install and run on a cronjob to renew certificates.
The easiest way to set up reverse proxy + auto HTTPS for a homelab is https://nginxproxymanager.com/ There is also https://pangolin.net/ which I think is too overkill for you atm :3
Exposing https requires a lot more configuration and also carries with it security risks.
I don't think it's really true these days that it needs a lot of config. Maybe reverse proxies will do it for you automatically without much setup.
I am curious what the security risks are for HTTPS for a service that will already be accessible remotely?
Reverse proxies require configuration.
Already accessible via VPN. Meaning it's only accessible to those explicitly allowed to access it.
What is the security risk of adding HTTPS to a site going via VPN?
It exposes the server to the entire internet...
No? Https is just the connection protocol? You can do it over LAN only just fine?
How so? I have HTTPS on internal sites, I just use DNS validation to get the certificate.