this post was submitted on 20 Jul 2023
2 points (66.7% liked)

Selfhosted

38849 readers
216 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey guys, it's me, Bizzle. I'm a tech hobbyist, but I think I'm a little out of my element here and I'm hoping you can help.

I have a ProxMox server at home, part of it is running Lemmy. I want to make the rest of it run NextCloud. I have a domain name, but I only have one IP address. Therefore, lemmy.moorefam.net points to my house and I forward the port from the VM running Lemmy.

What I want is for nextcloud.moorefam.net to point to a different VM, on my home network. But I don't know how to set that up.

Thanks in advance, Bizzle

top 9 comments
sorted by: hot top controversial new old
[–] notdeadyet@lemmy.dbzer0.com 9 points 1 year ago (1 children)

You will need to run a reverse proxy on one of your VMs ( I use Caddy, it's very simple), and forward port 80/443 to your reverse proxy.

Within your reverse proxy, you can tell it what port corresponds to which address and it will send you to the right service.

This is obviously an oversimplified answer, but there are many Caddy guides and I can help you with any specific questions.

[–] Voroxpete@sh.itjust.works 3 points 1 year ago

+1 for Caddy, it works great and it's super simple.

[–] taladar@sh.itjust.works 4 points 1 year ago (2 children)

You will need a reverse Proxy that can handle name-based virtual hosts, one for each domain (each with its own certificate). nginx would be one candidate for that.

[–] rarely@sh.itjust.works 2 points 1 year ago (1 children)

+1 for nginx, although there has been some concern because nginx is developed by a group of russians though it is open source and appears to still be widely used. If this worries you, look into traefik.

Otherwise does your ProxMox setup run docker containers? If so you can use NginxProxyManager which has a web gui for configuring your virtual hosts.

At a high level what you need is this:

  • all domains routed to your host (or home if self hosting) IP.
  • that IP needs to have a reverse proxy server like traefik or nginx listening on port 80 and port 443 if you want ssl/tls.
  • your app servers which run lemmy, nextcloud, etc can be anywhere on your network where your reverse proxy can access. You'll need to create vhosts for each. The server uses the Host header to determine which IP to reverse proxy to, eithe lemmy.moorefam.net or nextcloud.moorefam.net
  • the reverse proxy will get the content from lemmy or nextcloud and serve it via that IP and port.
  • ensure your home router is port forwarded on 80 (and 443 if you want ssl/tls) if you want to access these instances from the public internet but beware, you might want to add a firewall in-between if you aren't confident in your router's firewall.
[–] rarely@sh.itjust.works 2 points 1 year ago (1 children)

Tl;dr: you can add millions of sites to a single IP if you want. Very common in commercial hosting as well.

[–] taladar@sh.itjust.works 0 points 1 year ago (2 children)

I would advise against running millions of domains on a single IP, you will run into issues with a lack of ports that are not in use for the reverse proxy/backend connections unless you are dealing with websites that are basically never used.

[–] rarely@sh.itjust.works 3 points 1 year ago

Sure.. this was just said to simplify what is technically possible. Should you? No maybe not, for multiple reasons. Can you, technically? Yes absolutely. I don't know what's the limit but I know that if you have to ask here on lemmy, you might not be anywhere near that limit. Unless you are the go daddy.

[–] Dark_Arc@lemmy.world 3 points 1 year ago

I mean... if you're running millions of sites on one box, and that itself isn't an issue, I'd assume your port saturation/traffic is pretty low.

[–] bizzle@lemmy.moorefam.net 1 points 1 year ago

Sweet sounds like I've got some reading to do, thanks!