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.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post.
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
I have a reverse proxy, but that won't do ALL traffic, right? Just http or https?
Like if I want to ssh into the different servers, it won't handle that, will it?
you only have one IP. As you rightfully said, reverse proxy does only http(s), port 80/443. this works because of the nature how http requests work. They carry the hostname as part of the protocol (request headers). SSH is a whole other story, since the client does not send the hostname as part of the protocol, only the IP and the port.
What you can do is forward different ports to different machines... 2021 -> server1, 2022 -> server2, etc.
For SSH the
ProxyJumpdirective is awesome. Have one server reachable from outside and then use it to jump to all the others.If you control the software stack at both ends you may want to consider Chisel which is a HTTP tunnel for TCP and UDP.
The connections would go SSH client > Chisel client > HTTP reverse proxy > Chisel server > SSH server. The Chisel elements speak HTTP to each other so that segment between them can be routed by domain.
Chisel can also do its own encryption so you can use HTTP and avoid the HTTPS-specific issues about extracting the domain name from the HTTPS connection.