I’m considering a business plan for people getting in to self-hosting. Essentially I sell you a Mikrotik router and a refurbished tiny x86 server. The idea is that the router plugs in to your home internet and the server into the router. Between the two they get the server able to handle incoming requests so that you can host services on the box and address them from the broader Internet.
The hypothesis is that $150 of equipment to avoid dozens of hours of software configuration is a worthwhile trade for some customers. I realize some people want to learn particular technologies and this is a bad fit for them. I think there are people out there that want the benefit of self-hosting, and may find it worth it to buy “self-hosting in a box”.
What do you think? Would this be a useful product for some people?
I’m not in the market, but I’ve actually had similar thoughts of building a project on top of NixOS that’s focused on self-hosting for homes and small businesses. I recently deployed my own router/server on a BeeLink mini PC and instead of using something like OpenWRT, I used NixOS, systemd-networkd, nftables, etc.
DM me if you want to discuss more. I think the idea has potential and I might be interested in helping if you can get the business model right (even if it just ends up being some FOSS thing).
Isn’t that basically just a commercial NAS? Go buy a Synology NAS, or get fancy w/ TrueNAS. You don’t need an entry-level enterprise-grade router at all, you can just plug the NAS in anywhere and you’re golden. You can usually install a few services like Plex/Jellyfin or HomeAssistant alongside the data storage if you like.
If that’s not going to work for you, you probably have a good idea of what will work for you. For me, a tiny x86 server isn’t going to cut it, because I want a beefier CPU to run CI/CD for my programming projects, so a beefier, modern CPU is quite valuable. That’s totally overkill if all you want is a simple streaming setup with 1-2 transcoded streams.
So I think there are two main markets here:
- just give me something that works - these will flock to pre-configured solutions, like Synology or TrueNAS
- I want something specific - they’ll DIY components together to build their own custom solution
The only other group I can think of is the group that can’t afford 1 and doesn’t know enough to do 2, but I really don’t think that’s a particularly big group, and they’d be better off reusing something they already have instead of getting some off-the-shelf solution.
I could absolutely be wrong here, that’s just my $0.02.
Isn’t that basically just a commercial NAS?
Is it? I haven’t bought one, nor have I built a TrueNAS box. I’ve heard from folks that run applications on a NAS, particularly VMs and containers, but my understanding is that your price-per-unit-compute is really high since that’s not what it’s optimized for. I’ve got an old Zyxel NAS, it’s quite low-end, and I can’t run anything beyond NFS/Samba/audio streaming.
you can just plug the NAS in anywhere and you’re golden.
Do they have some kind of VPN or TURN system? I’m expecting that customers will want to access the device outside of their LAN.
For me, a tiny x86 server isn’t going to cut it, because I want a beefier CPU to run CI/CD for my programming projects, so a beefier, modern CPU is quite valuable
How beefy? Multiple CPU? If you could buy 4 boxes and have them load balance would that be interesting, or do you have a strong preference for single-box compute?
I could absolutely be wrong here, that’s just my $0.02.
Thanks, your $0.02 is exactly what I’m looking for!
price-per-unit-compute is really high
Well yeah, they’re optimized for storage. And if you’re starting from nothing, you’re going to need storage.
Synology is your budget home cloud, and it’s just good enough to handle basic cloud tasks and small-scale service hosting. If you grow out of it, you leave the Synology NAS for purely data storage, and add another box for heavier compute.
TrueNAS, on the other hand, is usually overkill for a home NAS setup because it’s designed for small-ish business use-cases, so it has a lot more CPU and RAM than you’d need when you only have a handful of users in a home setting. So it can probably handle any CPU workload you throw at it, within reason. It probably wouldn’t make a great compiling cluster, but it would do really well hosting things like NextCloud. If you’re looking for transcoding, you need to check the hardware and drivers on FreeBSD (maybe it’s not an issue, but it’s good to check first).
Do they have some kind of VPN or TURN system?
How would the router help with that? If you’re behind CGNAT, you’ll need something external regardless. If you’re not behind CGNAT, pretty much any router on the planet can do port fowarding, and many can handle a network-wide VPN if that’s what you’re after.
I’m behind CGNAT and I have a VPS that hosts my VPN and routes all traffic using HAProxy over the VPN to my internal devices, and my internal devices maintain a persistent connection to the VPN. It sounds complicated, but it’s really just two config files that I’d be happy to share if anyone is stuck. I do have a Mikrotik router, but it’s not needed for any of this, I only use it for static DNS routes so I don’t hit the WAN when accessing my services by their domain names (and VLAN for ZeroTrust shenanigans, but again, not needed at all). If I didn’t have that option, I could always just host a DNS server right on my NAS and do the same thing (any router can set the DNS server over DHCP).
How beefy? Multiple CPU?
No, I’m not that productive. I just want it to run builds of my Rust projects, and those can take some time. So 6-8 recent-ish cores is plenty. Right now I’m using a Ryzen 1700, and once I upgrade my PC, I’ll move my Ryzen 5600 to it. I want my builds to finish somewhat quickly without interfering with other services on the machine (e.g. if I’m running a build while we’re watching a movie, I don’t want the movie to stutter).
If my project grows (i.e. I get outside contributors), I’ll need higher specs.
And yeah, my preference for a single box is storage space. My NAS sits on my desk, and I’d really rather not get a rack setup. More machines means higher power and more space. I do have a couple of Raspberry Pis around for specific use-cases (e.g. one on my TV for RetroPie), but I’d really rather not have a handful of PCs running 24/7. Electricity is pretty cheap where I live, but even then, I’d rather not waste power just because I can get a good deal on servers. My single box uses something like 40-50W, and once I upgrade to my 5600, idle draw will drop another 10-20W (I have a 20-30W floor due to the drives).
I’m just skimming this thread, but paragraph 2 is basically fact. I’m on my second synology box, the UI is simple and I want reliability, I don’t want shit to break because of a git push on some bullshit tool. But recently I snatched a Lenovo server and threw proxmox and Debian on it, and also got a vps.
The synology is actually pretty capable, especially if it can do docker, and if you are willing to venture into (as a beginner) copy/pasting commands from the internet into the task scheduler as a half-assed way to get at the terminal, it can do literally everything that I want. But I’m a geek, why should I keep a stable, reliable system as my only machine? :p
My synology does files, some docker stuff. Lenovo does a couple docker stuff, BOINC since it’s just idling most of the time, and docker for game and related hosting on my vps. Hell, this entire thing could be ‘just add a network folder, and install docker and dockge/portainer’.
Though (paragraph 3) I tried and didn’t like TrueNAS. Maybe it’s because the synology does it already, I was just exploring, but it has that ‘foss feel’ where you have no idea what you are doing, even when you know what all the pieces do, and it just kinda is like ‘here you go, figure it out’ and leaves. I remember the UI being equally… ‘designed by a programmer’ let’s say. It might be powerful but oof, slick it ain’t.
For once I’m #1 in something 🥳
The hypothesis is that $150 of equipment to avoid dozens of hours of software configuration
OK fair try, but you also need to sell me 20-25 TB of disk space on 5 spindles (plus a SSD for the bootdisk), 64 GB RAM (with a chance to go up to 128) and the CPU must have 16 threads or more.
What kind of workload do you run that makes you confident you need that much hardware? Do you think people just beginning could get buy on 4 cores and 8 GB RAM for a while? How long before you think most people need more?
This will be the spec for my next server. The current one is smaller, and several years old
I have several different requirements for my server, for example, my son does video editing and needs lots of storage. I want to experiment with more VM’s and containers, therefore RAM and threads.
Do you think people just beginning could get buy on 4 cores and 8 GB RAM for a while?
For most people I think they just want to have some NAS and a reliable machine. But please grant them 16 GB, otherwise they would ask why their laptop has so much more than their server :-)
I think this needs to exist, but as a community supported system, not as a commercial product.
Pick a set of open technologies - but not the best, lightest weight, just pick something open.
Come up with a security architecture that’s reasonably safe and only adds a moderate amount of extra annoyance, and build out a really generic “self-hosted web hosting and VM company-like thingy” system people can rally around.
Biggest threat to this, I think, is that this isn’t the 90s and early 2000s any longer, and for a big project like this, most of the oxygen has been sucked out already by free commercial offerings like Facebook. The technical family friend offering to self-host email or forums or chat no longer gets gratitude and love, they get “why not Facebook?”
So… small group effort, resistant to bad actors joining the project to kill it, producing a good design with reasonably safe security architecture, that people can install step by step, and have fun using while they build and learn it.
I think this needs to exist, but as a community supported system, not as a commercial product. … The technical family friend offering to self-host email or forums or chat no longer gets gratitude and love, they get “why not Facebook?”
I think this is a great point, it doesn’t help much to create a business that ends up with the same incentives and the same end-game as the existing systems.
So… small group effort, resistant to bad actors joining the project to kill it, producing a good design with reasonably safe security architecture, that people can install step by step, and have fun using while they build and learn it.
That is precisely what I’m looking to build. I don’t want to get rich, I want people without 10 years of industry experience to get some of the benefits we have all been able to build for ourselves.
I think a possibility is a series of open source anvil or nixos scripts that you can run on most hardware with minimal changes, in an extendable architecture of some kind to add or remove functionality and they perhaps get maintained by the community or some structure of the kind of Linux distributions.
This could enable people with minimal skills set up and maintain a reasonably useful but secure environment just by changing a few variables.
nixos scripts
What’s a nixos script?
Nixos is an os that’s defined by its config stored in .nix files. Everything is defined here all the software and configurations. Two people with the same script will have the exact same os.
Any changes you make that aren’t in the scripts won’t be present when you reboot.
You could maintain a very custom linux distribution (kinda) by just maintaining these config scripts.
So a user wouldn’t need to install all required software and dependencies. They could get a nixos and the self-host config and adjust some settings and have a working system straight after install.
A viable alternative is Guix, which uses Scheme for its scripts and could also use the Hurd kernel instead of Linux, but works the same.
We already have that, the first problem is we have like a dozen of them, a few are even well supported. The second problem is that usually the technical knowledge required to set up the systems are still lower than the technical knowledge required to keep it running.
I’ve been struggling to wrap my head around a good security architecture for my mspencer.net replacement crap. Could I bug you for links?
I figured out a while ago to keep VM host management on a management VLAN, and I put each service VM on its own VLAN with heavy, service-specific firewalling and a private OS update repo mirror - but after hearing about ESXi jackpotting vulns and Broadcom shenanigans, I’ve gotten really disheartened. I’d love some safe defaults.
It sounds like you’re getting into the keeping it running phase.
First, going back to your previous comment, self-hosting email is difficult. It’s not hard for a small provider to end up blacklisted and you’re probably kind of just done at that point and it will feel very unfair. I get that it’s a fun set of technical challenges, but you couldn’t pay me enough to help someone self-host email.
Second, guessing, but it sounds like you may be trying to expose your services directly and doing a lot to make that work which goes against what most would recommend for hosting your own services. Big companies don’t expose their intranet like that, follow their example. Almost every guide or system is going to warn against that. If you’re going to host more than one thing, highly recommend focusing on minimizing entry points and looking into a VPN-like solution for accessing most if not all of your services. Still spend time on securing your intranet, but most of your risk is going to come from how hard it is for people to get past the front door (or doors).
Thank you for your reply, but to be clear, I’m not looking for individual details to be spelled out in comments. What you said is absolutely correct, thoughtful, and very helpful. But emotions are running a little high and I’m worried I’ll accidentally lash out at someone for helping. Apologies in advance.
But do you have any links? Beyond just the general subjects of security architecture, secure design, threat modeling, and attack surface identification, I’d love to see this hypothetical “generic VM and web application housing provider in a box” come with a reasonably secure default architecture. Not what you’re running, but how you’re running it.
Like, imagine decades in the future, internet historians uncover documentation and backups from a successful generic hosting company. They don’t necessarily care what their customers are hosting, their job is to make sure a breach in one customer’s stuff doesn’t impact any other customer. The documentation describes what policies and practices they used for networking, storage, compute, etc. They paid some expensive employees to come up with this and maintain it, it was their competitive advantage, so they guarded it jealously.
I’d want to see that, but (a) a public, community project and (b) now, while it’s still useful and relevant to emulate it in one’s own homelab.
If I can get some of that sweet, sweet dopamine from others liking the idea and wishing for my success, maybe I can build my own first version of it, publish my flawed version, and it can get feedback.
I probably would. However it has become increasingly obvious that the flaws with solutions so far have been in the organisation. Not so much the particular hardware or software. If I’m going to buy something I’d like some hope that it’ll be there in 5 or 10 or 20 years. So please if you go serious with this, look into worker-owned organizations because I’m tired of dodging profit-maximizing traps and pretend-non-profit landmines. If the people building and supporting the thing aren’t the ones deciding what to do with the revenue and profit, you’re the only one doing it and you’re going to make mistakes that will hurt them and us. And then you become a landmine to dodge.
These are great points, and I fully agree. I’d be interested in knowing what kind of license or corporate structure or contract would give you confidence that the organization is worth investing in. I could put all the software out with a really strong Affero license so that you’ve got the source code, but I get the impression that you, like me, want more than that. Corporations like Mondragon are interesting to me, and I’m aware of a few different tech cooperative organizations. I’m not confident that a cooperative structure alone is enough. Yes, it helps avoid the company taking VC money, shooting for the moon, failing, and then selling everything that’s not clearly legally radioactive. But it doesn’t protect you against more insidious forces like the founders selling to private capital and adjusting the EULA every few months until they have the right to sell off your baby photos.
I’ve been batting around the idea of creating a compliment to the “end-user license agreement” - the “originating company license agreement”. Something like a poison pill that forces the company to pay out to customers in the event of a data breach, sale of customer data, or other events that a would-be acquirer may think is worth it for them.
I’m just not sure yet what kinds of controls would be strong enough to convince people who have been burned by this sort of thing in the past. What do you think?
I don’t know enough to say what the structure should be but this should not be possible:
But it doesn’t protect you against more insidious forces like the founders selling to private capital
It implies that the founders have more voting power and ownership than the rest of the people in the org. In my mind, everyone should have an equal vote, which should prevent a sale on the whim of the founders or another minority group. If a sale is in the cards, a majority of the people in the org should have to approve for it to proceed. And this shouldn’t be advisory but a legal barrier to pass.
If I were to start a firm today, I’d be looking into this because not only this is the kind of firm I’d like to work in, but I think so would quite a few people in software. And those aren’t the dumb kids.
I can also say that as a customer, the few worker co-ops I’ve able to buy things from give me a much more trustworthy impression than the baseline. They just behave differently. Noticeably more ethically.
But it doesn’t protect you against more insidious forces like the founders selling to private capital
It implies that the founders have more voting power and ownership than the rest of the people in the org. In my mind, everyone should have an equal vote, which should prevent a sale on the whim of the founders or another minority group.
I’m not confident that simple democracy is enough. While I do expect that a one-worker-one-vote system would make it harder to sell out, it’s still possible. I do think that a cooperative has many benefits. I just want to make it fatal to the business to go down certain dark paths: selling user data, seller user compute, selling user attention, etc.
I wish there were more examples of functional high-tech cooperatives I could learn lessons from.
If I were to start a firm today, I’d be looking into this because not only this is the kind of firm I’d like to work in, but I think so would quite a few people in software. And those aren’t the dumb kids.
I strongly agree with this sentiment.
Purely on the product side, if I decide to buy it, I wouldn’t buy it for myself. I’d buy it for friends and family who are not that tech literate. Either to make my life easier to give them self-hosted services, or ideally for themselves to be able to do so. I want this product to be a non-shitty, open source “Synology,” from a firm I can trist to support it for a very long time. Doesn’t have to have that form factor. And I’m totally fine with an ongoing subscription. I’d like to be able to say - hey friend, buy this from ACME Co-op and sign up for their support plan. Follow the wizard and you’ll have Immich, Nextcloud, etc. A support plan might include external cloud HTTP proxy with authentication and SSL that makes access trivial. Similar to how Home Assistant’s subscription (Nabu Casa) works. It could also include a cloud backup. Perhaps at a different subscription rate.
Only if it didn’t have an insane markup for being pre-built.
An interesting customer base might be small communal organisations. At our local scouts troop I had a discussion with a friend, who is also in IT. His idea (not fleshed out) was to provide small local organizations with a stack of already configured open source software to support the typical needs of such organizations (like a wordpress website, a nextcloud for file storage and common calender, limesurvey for surveys and event registration, mailman3 for mailing lists,…). Depending on the needs you could sell the initial setup process (your personal work in setting up and skill transfer) or ongoing support. Though such organizations normally don’t have much money to give away. So probably its not really worth your time financially (though probably really appreciated in the community).
The tech savvy will just buy a Raspberry Pi and install yunohost on it.
Market to tax funded institutions. If you can market “self hosted” as cheaper and easier than mother solutions you’ll have guaranteed clients for a long time.
That’s an interesting idea I hadn’t thought much about. I’ve been more focused on individuals than organizations. Do you have experience with tax-funded institutions? I assumed they generally have strict procurement rules and long support contracts with large established players by policy.
Their procurement policy is basically “has it been recommended? Is anyone else using it? Is it cheap?”
I work in public sector.
Would only be worth it if you created a system for easily deploying applications on an already set up subnet with routing preconfigured.
Like set up a single server kubernetes distribution like microk8s or minikube on the server with metalLB and ingress already preconfigured on the server and router. You could also give instructions on how to install a GUI like Lens and how to use it to deploy a few things. Probably using workstation applications would be better than a web UI like Portainer to keep the server lighter, but either might work.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters AP WiFi Access Point CGNAT Carrier-Grade NAT DHCP Dynamic Host Configuration Protocol, automates assignment of IPs when connecting to a network DNS Domain Name Service/System ESXi VMWare virtual machine hypervisor Git Popular version control system, primarily for code HTTP Hypertext Transfer Protocol, the Web HTTPS HTTP over SSL LTS Long Term Support software version LTT Linus Tech Tips YouTube channel NAS Network-Attached Storage NAT Network Address Translation NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency Plex Brand of media server package RAID Redundant Array of Independent Disks for mass storage SSD Solid State Drive mass storage SSH Secure Shell for remote terminal access SSL Secure Sockets Layer, for transparent encryption VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
[Thread #961 for this sub, first seen 9th Sep 2024, 20:55] [FAQ] [Full list] [Contact] [Source code]
what’s your plan on teaching these people to maintain their selfhosted instances? Are you selling support? I mean you could script pulling and recreating containers, but without eyeballs on it, that stuff will die eventually.
If I wanted that I would just buy Synology/QNAP/Zima, etc.
I admire the thought of lowering the barrier to entry to start self-hosting for “normies”. Not sure where you are located, but where I am, this price point is not realistic even for used equipment, not including RAM or storage. I’m not really sure what value add you are bringing to the table that one wouldn’t get from just buying used hardware from an office surplus and if one is very inexperienced in self-hostong, looking into something like LTT is partnered with like Hexos.
this price point is not realistic even for used equipment, not including RAM or storage
I’m doing experiments currently on a refurbished Intel i5-6500 with 8Gb DDR4 and a 0.5Tb SSD. It’s tiny, quiet (~45 decibels) and so far runs ~8 watts idle, 25 watts normal usage. I haven’t stress-tested the power draw. The router I’m testing with is a Mikrotik hEX lite 5. That’s around ~$150, though clearly if you are accustomed to more “rack-mount” style homelab these will seem very modest.
What I’m testing for now is getting representative loads on the devices to see how they perform.
I’m not really sure what value add you are bringing to the table that one wouldn’t get from just buying used hardware from an office surplus and if one is very inexperienced in self-hostong, looking into something like LTT is partnered with like Hexos.
Oh, I totally agree, my value add just isn’t there if you are experienced at hosting. The value add is to help people get started, and to keep them running at a modest level. Not everyone wants to experiment with Kubernetes at home or train LLMs. Some folks just want a password manager, a shared calendar, something to organize their tax documents, a pihole, and a Minecraft server for their kids.
I don’t follow LTT, I was under the impression it was more hardware reviews for the experienced than tutorials to help people get started.
I’ve read a bit about Hexos, I’m thinking of some similar things, and it would make sense to work with them. I’m excited for their coming beta.
I recently upgraded my homelab/self-hosting server from an old Dell T410 with dual X5650’s (2 - 6 core/12 thread CPU) and 24 GB ram to an old Dell Optiplex (7020 I think) with an i5-4590 (4 core/4 thread) and 32 GB ram. Its barely enough for a proxmox host with 5 VMs; but way faster than the old T410.
If you are offering some sort of self-hosting box, would it be bundled with some sort of software for someone to easily spin up whatever services they want?
Are you going to be able to make money at the $150 mark with all this hardware and configuration? If you are targeting people who are new to self-hosting, it will need to be a complete package (will need to have ram and storage installed).
A small home media server running off a raspberry pi could be that cheap.
Oooohhhhh boy. Another one of these 🤣
It’s not like a package thing you can sell if you’re not supporting it. Then you’re just selling hardware at an inflated price. It’s not even self-hosting at that point. Why wouldn’t you just pay a regular company for a product?
Good point, I should have mentioned the plan is to sell support.
Then I’m not sure what the product you’re selling is though. Tech Support? That’s going to be a hard sell.