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
What I've always done is to create a VM for each service I run -- so like one each for DNS, apache, postfix, dovecot, and even one to handle ssh and ftp logins. I'll also set up a VM when I want to test a new service, so I don't trash out a physical machine. This makes it easy to make extra copies if I want to run redundant systems or just move them to a different physical server. I suppose this is something like what docker does, except these are entirely self-contained systems that don't even need to be running the same OS, and if someone happens to hack into one system, it doesn't give them access to all the others. I also have a physical machine set up as a firewall to direct the appropriate ports to each VM and handle load balancing, but for your experiments you could do this task on the physical desktop and point everything to the VMs running inside it.
One nice thing about KVM is that you can overload your memory space. So like if you only have 512MB available and you set up three VMs with 256MB each, the actual free space will be shared among them because usually a system doesn't take up ALL of its memory (although for linux you might need to limit how much cache ram each system will try to use). In reality what you find is that a system might run a task or get a burst of traffic that uses more memory, so it will pull free physical memory from the other VMs as needed, then give it back when the task is done. You won't really want to run web-facing servers with such a tight space though, unless you are the only person actually using them, but hopefully it gives you some ideas of how you can play around with what you have available in that machine.
Holy shit, that's genius. I saved your comment for reference. This is probably how I'll end up learning to make these things work