News for hackers. Stuff that matters.
Re:Start Self Hosting by kodah on Wednesday March 23, 2022 @03:28PM (#30782285)
Self-hosting is something that we should be constantly iterating on making easier; it's really the path forward for privacy centric folks. The main challenges are managing workload scheduling (SystemD is complicated for a layperson). Networking is another challenge; for instance, if you wanted all or part of these services to remain offline or on a Mesh VPN there's a lot of knowledge required.

There's some projects trying to tackle the workload orchestration piece; CasaOS (https://www.casaos.io/) being one of my favorites but there's also Portainer (https://portainer.io). TailScale and and ZeroTier are great for Mesh VPN networking, where you may need to run some workloads in the cloud but want them networked with your home applications (or just to keep them offline). They also allow you to access applications running on a home server that doesn't have a static IP. Cloudflare Access is okay; I haven't tried it because it deviates from the mesh VPN model significantly.

Re:Start Self Hosting by Hendrikto on Wednesday March 23, 2022 @03:44PM (#30782461)
> SystemD is complicated for a layperson

Is it? It has clean and logical abstractions, and consistency. Services depending in each other isn‘t complex or difficult to understand.

I suspect that a nice GUI would make systemd quite usable for non-expert users.

BTW: It‘s called ”systemd“:

> Yes, it is written systemd, not system D or System D, or even SystemD. And it isn't system d either. [0]

[0]: https://www.freedesktop.org/wiki/Software/systemd/#spelling

Re:Start Self Hosting by kodah on Wednesday March 23, 2022 @04:02PM (#30782641)
> Is it? It has clean and logical abstractions, and consistency. Services depending in each other isn‘t complex or difficult to understand.

For a technologist or engineer, yes. For a layperson, no. The average consumer who desires privacy is probably neither a technologist or engineer, so the longterm target is something that just works.

Laypeople also aren't going to entertain the kind of pedantry that is systemd vs systemD vs System D vs SystemD so making systems that abstract further away from those communities is beneficial.

Edit: Thank you for your correction, as a systems engineer, but I couldn't help but highlight this is a big hurdle even in the Linux communities that I've been a part of as desktop Linux as gained wider adoption by laypeople.

Re:Start Self Hosting by ndiddy on Wednesday March 23, 2022 @05:34PM (#30783724)
Laypeople don't know that systemd exists. They will install a webserver or something and the package manager will automatically install and enable its unit file.
Re:Start Self Hosting by mdavis6890 on Wednesday March 23, 2022 @11:34PM (#30786153)
What “lay person” is going to install a web server??? That’s insane. Maybe a lay faang-er would.

Lay people work in a factory or shoe store or accounting firm. They have 1 or more kids. They hear what their friends are doing, and as long as it only requires signing up on a web page, they will consider it. They will use the same password as they do for their bank.

And that’s FINE! There is life outside technology, and those lay people are busy living it.

Re:Start Self Hosting by scottLobster on Thursday March 24, 2022 @10:18AM (#30790109)
You know there are 12 year olds who run their own minecraft servers, right?

I wouldn't call them sophisticated admins, and I wouldn't trust them with anything mission critical, but the servers often work.

Re:Start Self Hosting by efreak on Tuesday March 29, 2022 @06:40PM (#30849263)
There's plenty of simple webservers around. I used to use one at school that was a single (likely self-extracting zip) exe file that ran Apache on the given port; the document root was configurable, but defaulted to the relative path ./public_html. I would be surprised if there isn't a project somewhere that's effectively a QT gui to start a Python webserver like this[1], as a single self-contained exe file.

[1]: http://stackoverflow.com/questions/44586441/ddg#44586701

Re:Start Self Hosting by IncRnd on Thursday March 24, 2022 @03:40AM (#30787174)
You are severely underestimating people.
Re:Start Self Hosting by sgt on Thursday March 24, 2022 @04:08AM (#30787318)
Reading this thread - exactly my thoughts too. Most people (if given the incentive and interest) would understand systemd just fine. Some effort would be needed.
Re:Start Self Hosting by lou1306 on Thursday March 24, 2022 @05:34AM (#30787740)
It would take one hell of an incentive to make someone with

* No previous tech knowledge

* A full-time job

* No external help

learn systemd, or how to setup and maintain a web server, or whatever. Individuals may still self-host of course, but I'm skeptical people will do it en masse anytime soon. After all, if the entry barrier weren't so high, we wouldn't have an entire service industry that does this for you (SquareSpace, Wix, Substack...)

Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @08:50AM (#30789025)
I think most of the people on r/selfhosted aren't super technical. Lots of them install a snap or docker container with a web UI for self hosting and they are off to the races.
Re:Start Self Hosting by majewsky on Thursday March 24, 2022 @09:19AM (#30789336)
Looking at the /r/selfhosted crowd comes with some serious survivorship bias though. It's not considering the (potentially large) group of people who would like to self-host, but don't even make it to /r/selfhosted or similar forums.
Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @10:36AM (#30790424)
Sure, but let's be real, if your going to slef host you'll need to be able to do a bit of that.

Would be nice if there were more little appliances that handle stuff like this so someone could just buy it at best buy or whatever and plug it in next to the router.

Re:Start Self Hosting by sjmm1989 on Thursday March 24, 2022 @02:48AM (#30786949)
> What “lay person” is going to install a web server??? That’s insane.

You ... might be surprised.

Re:Start Self Hosting by spacemanmatt on Thursday March 24, 2022 @08:13AM (#30788747)
I've come to recognize my view that "anyone could install this web server" is a view most commonly shared among fellow techies, and not one shared by the greater population.
Re:Start Self Hosting by sjmm1989 on Thursday March 24, 2022 @02:38PM (#30793749)
Yeah. Of course not 'everyone' will be able to, and maybe that's what we should be considering the 'lay person' now...

But there is a wide range of knowledge in this space. A 'lay person' is kind of hard to get down to a spot without potentially lumping people together improperly.

Take my customer for example. She's not stupid. She knows she could probably fix the computer I am fixing for her, herself. But she also knows there are things she just doesn't know and probably should get someone else who does know those things to do it instead. Is she the lay person? From talking to her, I am pretty sure with a couple quick hours of reading some stuff, she could probably set up a basic Nginx server or something very easily for herself. Etc, etc. Yet, by others standards, she is a lay person because she can't utilize Apache or AWS.

So, yeah... that's my take on it.

Re:Start Self Hosting by spacemanmatt on Friday March 25, 2022 @07:55AM (#30801002)
I totally started there, knowing a lot of stuff was in my reach but would take some reading to succeed with. It's still hard for me to anticipate who will persist and who will throw their hands up and declare they aren't technical.
Re:Start Self Hosting by sjmm1989 on Saturday March 26, 2022 @11:18AM (#30812574)
Yeah, you could say I am even still 'there' to some degree. Sure, I fix computers for people, but that's kinda easy. I know enough to know when to not do something, essentially. And that can be hellishly important as a skill.

But the fact remains that I have a A+ book from Comptia left unread that I found at a 2nd hand store, a book on Bash that I found at a bar also unread, and a book on Python from O'reily via Amazon; yes, unread. All of them unread.

Why? I dunno. Can't be damned to? I taught myself pretty much everything I know through trial and error. If I want something in a program to do something else, I alter the code and reverse engineer it until it does what I want. This is how I make mods for games usually, when I tinker at all. How do I know what to tinker with? I read, ironically. Yeah, I know. Go figure, right?

But still, those books lay unread in a desk next to me as I type this.

So what am I reading? Well, it's quite simple. If I ever get to a point where my own intuition or knowledge isn't good enough, and I don't see the answer staring me in the face via some comments in the code, or some error code thing, etc, etc...

I google it.

Re:Start Self Hosting by hotpotamus on Wednesday March 23, 2022 @06:51PM (#30784593)
You know, nothing is really ever that simple and this comment makes me realize that. You actually hit on a philosophical difference in package managers lol. Ubuntu (not sure about Debian) will install, enable, and start a package, But Red Hat only installs it, because they expect you to configure the service first.
Re:Start Self Hosting by ncphil on Wednesday March 23, 2022 @08:16PM (#30785171)
Which 90% of the time makes sense because if you want anything more than the barebones default config (which you usually do), that's best done before everything gets spun up. But I've worked with Ubuntu (and Debian) long enough that I now take for granted that some services are going to have to be downed for reconfig almost immediately after installation. The "auto start after install" practice rarely makes much difference in the final result. After over 25 years as a sysadmin I do wonder how non-experts navigate some of this stuff, what with the often incomplete doc and horribly uninformed (or just plain reckless) forum posts they have to work with. The best place to start is still æLeen Frisch's Essential System Administration (whose 1st ed is where I learned the sysadmin craft), but there really isn't much beyond it (unless you go the BSD route and so have the FreeBSD Handbook to lean on).
Re:Start Self Hosting by ddaalluu2 on Friday March 25, 2022 @09:33AM (#30801941)
That is actually not true for the most part. RHEL-based distros have a vanilla config file, where Ubuntu yes does make some extra efforts to configure the packages in a sensible manner.
Re:Start Self Hosting by yawnxyz on Wednesday March 23, 2022 @09:32PM (#30785579)
I thought I was a pretty good "tech person" until I read this thread... and now I'm more layperson than what this thread considers a "layperson" bc none of this makes sense to meh aha
Re:Start Self Hosting by input_sh on Thursday March 24, 2022 @04:06AM (#30787303)
systemd → does a lot of things on modern Linux systems, amongst which is dealing with services that should autostart (think: both low-level stuff like Bluetooth or user-level stuff like a Dropbox client or a VPN or whatever).

Unit files → fairly simple text files that are used to define such stuff for systemd (usually in /etc/systemd/system and /usr/lib/systemd/system).

Package manager → essentially the same as an app store on a phone. It's how you install and update packages (packages could be a fully fledged graphical app or just a terminal command).

Webserver → what allows you to "run websites" on your own machine. For the simplest example, if you run `python -m http.server` in a terminal on a Unix-like system, congrats, you can now browse your files in a browser (127.0.0.1:8000). If you know your local IP, you can also open it from a phone and download stuff from your desktop, zero apps or cables or FTPs necessary.

So, to decipher that comment above: you usually don't have to worry about how things run automatically because that's usually pre-configured when you install them. In most simple self-hosting scenarios you just "install a website" on your spare laptop or whatever and you're good to go. That website usually serves traffic via a webserver on some port, and you access it via local network IP and a port (example: 192.168.1.100:8000).

Now if you go deeper and want to run multiple things simultaneously, each accessible via a domain instead of a port, accessible from outside of your home, properly backed up and with a valid HTTPS connection, and then you hear about this thing called Docker... well, from my experience, you're gonna wake up on a day like this and go to work as a sysadmin with 3 years of experience, basically writing YAML for a living.

So in conclusion, apart from some outliers like Plex.tv, I wouldn't call the process layperson-friendly, but hey, it might make your tinkering into a career.

Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @08:57AM (#30789084)
It's a bit crazy that it even matters. Or that systemd comes up at all in a selfhosting convo.

I have friends that selfhost stuff on mac, windows, and linux. They are probably above average as far as tech goes but they are all 30 somethings in non-tech jobs, real-estate, finance, advertising, sales.

I field questions from time to time, but it's pretty rare. Never once got a question about an init system. On any os or distro.

These guys aren't writing init scripts, they are going through the apps documentation and typing 'systemctl start appName.service' and then moving on.

or starting it with docker or even one of the clever little web UIs that you can install that helps you install selfhosted apps.

I thing there's a part of us that wants to believe this shit matters to normal users but they just don't care. And if the service doesn't start, they file a bug upstream and the maintainer usually takes care of it.

Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @12:18PM (#30791979)
To be honest, I think the reason systemd comes up in a self-hosting conversation at all is because

- Some people want to talk about how difficult things are, and come up with reasons to make things sound difficult,

- Some people have an axe to grind, regarding systemd.

The original poster brought up "workload scheduling" and while I've done plenty of that at work, I'm at a complete loss trying to guess why you would need workload scheduling for any self-hosting project.

Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @12:28PM (#30792137)
I defiantly agree with you. I've never heard mac people sit around and talk about which init system it's running it's a complete non issue. It just doesn't matter to self-hosters and end users in any way shape or form.
Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @12:37PM (#30792244)
Ah, well, back in 2005 or so, Mac people were talking about launchd. Things have settled down since then.
Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @03:40PM (#30794441)
Back in 2005 I would guess many people using a Mac cared. Now? probably a much smaller percentage of the user base.
Re:Start Self Hosting by number6 on Thursday March 24, 2022 @01:46AM (#30786690)
I drive in the final nail and tell you that the page in the Arch wiki[0] is a wonderful starter on systemd.

Ah.. I was there when it was all SystemV vs Upstart vs Systemd... the golden days...

[0]:https://wiki.archlinux.org/title/systemd

Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @09:00AM (#30789121)
I still have living systems that I put through the manual transition of the init systems and the /usr/ merge.
Re:Start Self Hosting by number6 on Thursday March 24, 2022 @02:40PM (#30793780)
Ah! the /usr/ merge, I remember it being called the great symlink apocalypse.
Re:Start Self Hosting by Aeolun on Wednesday March 23, 2022 @07:43PM (#30784991)
Hence I have never cared about the difference. As long as the package installs and the service is enabled.
Re:Start Self Hosting by lnxg33k1 on Wednesday March 23, 2022 @06:19PM (#30784270)
I think it has come the time where the society starts to advance without caring about laypeople, if some folks can learn it, if there is documentation, then we can just go on without caring about who doesn't know how to use it, because that's fixable. And I speak considering the German government who had to pull back from Linux because employee didn't know how to use it

Let's start treating tech as the world treats everything else: Ignorance is not a justification

Re:Start Self Hosting by ravenstine on Wednesday March 23, 2022 @10:21PM (#30785802)
Your opinion is on the extreme end, but I overall appreciate the sentiment that society is about as stupid as we allow it to be.

Sure, there's a midpoint where we would ideally want as many people to be able to use a technology as possible, which means making things easier, but we underestimate the capability of most users and dumb things down so far that those users not only believe that X technology is too hard but believe themselves to be too stupid to do anything that requires even the faintest amount of know-how.

I do think we've gone way too far in the direction of acting like everyone, except we archmages on HN, have the intelligence of toddlers and can't figure out anything for themselves. Everything becomes so easy, but at the tradeoff of everyone being dependent on the centralization.

The incentive has to be there, though. Convincing people to self-host is like telling them to eat more broccoli. Just because it's good for them doesn't mean they're going to do it, and companies of nearly any size certainly won't choose to make things hard on their users.

Re:Start Self Hosting by chongli on Thursday March 24, 2022 @10:00AM (#30789861)
I appreciate your perspective and I greatly value my own computer expertise. Having said that, I want to ask: what if doctors, lawyers, and engineers adopted the same mindset? Instead of translating their knowledge and recommendations into language a layperson can understand, what if these experts spoke only in their domain's technical jargon?

We would be much worse off. In order to survive, everyone would have to become a dabbler in everything and many would be unable to keep up at all. We would lose all of the efficiency gains of specialization.

So assuming we do not want everyone to have to learn a bit about medicine and law and engineering etc, why is computer knowledge different? Is a computer not merely a tool to accomplish a task? We don't expect people to learn to become a mechanic, let alone an automotive engineer, to be able to drive a car. We expect cars to be reasonably easy to drive and low maintenance, with occasional help from mechanics. Shouldn't we expect the same from computers?

Re:Start Self Hosting by jdgoesmarching on Thursday March 24, 2022 @01:20PM (#30792800)
Yeah, it’s incredibly unrealistic tech-elitism to put the burden on everyone else because you can’t be bothered to simplify your design. Anyone who cares about self-hosting should not be advocating for the UX equivalent of setting VCR clocks.

We can be realistic about making hosting accessible, or you can bury your head in the sand with enthusiasts as AWS becomes the entire internet. It’s already pretty obvious which approach is winning.

Re:Start Self Hosting by prox on Wednesday March 23, 2022 @06:30PM (#30784391)
It is about expendable time. I mean it might take you a few hours or so do it, or even less.

People working in other sectors, maybe with a family when they come home, do not have that skill or luxury.

And speaking from experience, documentation is often greatly lacking. For example just today I had to thumb down a couple of google docs because it was riddled with inconsistencies and lacking crucial information. And that’s a company with near infinite money. And its like that for most software, with great docs an exception rather than a rule.

Re:Start Self Hosting by lnxg33k1 on Wednesday March 23, 2022 @06:43PM (#30784524)
I don't agree with you, only for the fact that right now, in this age computers are everywhere, everything is digital, it is not luxury to learn how things work, it's survival, it's not expendable time, it's professional time
Re:Start Self Hosting by asoneth on Wednesday March 23, 2022 @09:17PM (#30785490)
I have various friends who have made similar statements about food (everyone should cook meals for themselves), cars (everyone should do their own basic repairs and maintenance), homes (everyone should do their own basic home maintenance), keyboards (everyone should do basic soldering and learn a non-qwerty layout), accounting (everyone should have a budget and do their own taxes), gardening, fitness, investing, education, etc.

The number of people who can learn all of the skills that someone in the world considers essential is small. The number of people who can do all those things while having a job, kids, and a working partner is smaller still. The rest of us have to focus on a proper subset.

For me, every minute I waste learning how to configure my server is a minute I could have been playing Legos with my kids or riding my bike or sleeping.

Re:Start Self Hosting by fps_doug on Thursday March 24, 2022 @06:36AM (#30788094)
You know, I have kids too, but I still wonder how much more dependent on big tech we might potentially get over the next decades, and how much responsibility I have in protecting and educating them in that regard. I'm postponing self-hosting mail for several years now, because it has A LOT of gotchas and requires tweaking and debugging every couple weeks/months because someone considers you a Spammer again (looking at you, Hotmail (German: Schrottmail)).

But eventually they will be old enough to require an email address, so should I just let them use Gmail and stop worrying, or try to have something up and running until then? At least protect them from the data kraken until they can make their own informed decisions about that. But then I'm not just responsible for my email, but my whole family's email. What about 30 years down the road, when they long moved out? Am I still gonna sysadmin my family's self-hosting galore when they finally have kids on their own? Is it even still possible then? At least for mail it looks like when it's growing over my head I can just sign up with some mail provider (that hopefully values privacy) and let them handle that whole BS.

It might not even be worth it anymore at some point though, if basically everyone else you communicate with via mail is on Gmail. Then Google already has all my email as well.

Re:Start Self Hosting by prox on Thursday March 24, 2022 @07:03AM (#30788262)
I think it’s here Linux devs or the selfhost ecosystem should focus itself : making the software more accessible. It’s a bit like Blender before the big UI overhaul. There were actually a sizeable group of people who were very much against it, but now we are further along and its been a great success for both newbies and experts.

An awareness campaign to go the extra mile in terms accessibility would be great (and that doesn’t mean dumbing down, the two seems to be equated sometimes)

Re:Start Self Hosting by lnxg33k1 on Thursday March 24, 2022 @02:12PM (#30793497)
Speaking of accessibility, there was a meeting about using a headless cms at my company, so the team involved in it presents the product, something like strapi or something like that, and I ask like "Does it support accessibility features like tts/aria? And they say like "Oh but I don't think we need accessibility for this internal tool"

But also at past companies there was never the idea that internal tools had to support accessibility features, as we give for granted that we would never hire people with some sort of disability and they are just users that stay at home, it's sad and upsetting, as a person who doesn't need any accessibility feature to operate now, I really feel sorry for others who do, and I hope that I will never need them, because like your situation with products at employers like control panels and similar is very sad

Re:Start Self Hosting by asoneth on Friday March 25, 2022 @10:29AM (#30802588)
I feel the same pain as you do about being complicit in all of this and I have no ready answers.

The best I managed to do is that my family's email addresses use a custom domain I manage so I am not locked into a single webmail provider. Occasionally I have to deal with some issue or delivery delays (especially for authentication emails) but it's orders of magnitude less effort than when I made the mistake of trying to run my own mailserver.

Re:Start Self Hosting by mtone on Friday March 25, 2022 @05:33AM (#30800110)
As teenagers when they realize that you (or any family member with access to the server) can look at all their emails, they will most certainly never use it for anything personal and/or move away to gmail as that would massively improve their privacy situation!
Re:Start Self Hosting by lnxg33k1 on Thursday March 24, 2022 @06:45AM (#30788144)
I guess put like that, I would say that my thought about the matter were a bit bullshit and I agree with you
Re:Start Self Hosting by asoneth on Friday March 25, 2022 @10:45AM (#30802776)
I wouldn't say bullshit, just a tad idealistic. Then again, I'm old, and I admire your idealism.

Being self-sufficient is a noble goal, but I think it's also helpful to be realistic about the costs in order to make the proper cost/benefit decisions.

Re:Start Self Hosting by IggleSniggle on Wednesday March 23, 2022 @07:04PM (#30784695)
You could say the same thing about any number of fundamental disciplines: “chemistry is survival,” “roof making is survival” “SQL is survival.” The truth is, there’s only so much time, and we each must specialize. Software that decreases the need for broad reaching high-specialization is a public good, and software that increases the need for specialized knowledge across all economic activity is hurting productivity, whatever the bean counters may say.
Re:Start Self Hosting by fps_doug on Thursday March 24, 2022 @06:21AM (#30787990)
I think this discussion thread is basically people looking at this in different contexts. A lot of the replies seem to interpret your post as saying "systemd is more complicated than sysvinit was" which is most definitely not what you meant regarding your further replies in this thread. You seem to say "even systemd is too complicated for the layperson". I somewhat agree, if we assume someone totally not dealing with tech in any way on a daily basis, except for typical Office work. But the "in-betweeners"? They totally could. Like, not even Linux users, but curious tinkerers that fiddle aound with .ini files and registry settings to tweak their machines; do overclocking? They totally have what it takes to chew through a tutorial that tells you how to set up a Linux VPS with a couple services running.

For the layperson that's a bus driver by day, not so much, most definitely, but I think no matter how simple you make setting this up, just having to maintain this and having to do something when the setup eventually has some unexpected bug a few years down the line is just too much.

Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @09:04AM (#30789171)
To be fair, a bus driver probably isn't writing a self-hosted service anyway. So if there is an issue with the service init 3 years later, they will probably file a bug and let the maintainer handle it. And they wouldn't be parsing a bash script for a sysV-init if that broke either? SysV-init was to complex for the layman as well. Because gracefully starting and stopping system services with their dependency chains is generally too complex for the layman as well.

There's this strange idea that laymen self-hosters are doing all this stuff and the choice of init system matters in the lease. They were going to run the command to start the service blindly regardless of which init system it was and if it breaks, they aren't going to really troubleshoot either one.

Re:Start Self Hosting by fps_doug on Thursday March 24, 2022 @11:33AM (#30791308)
Sure, the bus driver was supposed to represent the other extreme. In reality, they probably wouldn't care no matter how simple the setup is. But the at-least-somewhat-curious non-tech person has probably better chances finding a problem with a systemd service than a sysvinit script, even if they just open a ticket in the end. The info they can provide is more likely to be useful with systemd, I'd argue.
Re:Start Self Hosting by jethro_tell on Thursday March 24, 2022 @12:17PM (#30791977)
For the record, I'm a big systemd fan. But to a user, taking a debug log is more or less the same either way. They don't care.
Re:Start Self Hosting by nobody9999 on Wednesday March 23, 2022 @05:13PM (#30783477)
>For a technologist or engineer, yes. For a layperson, no. The average consumer who desires privacy is probably neither a technologist or engineer, so the longterm target is something that just works.

In comparison to system V initd startup files, systemd unit files are, arguably, less complicated.

I'd say the "complexity" of systemd unit files is mostly irrelevant to end users.

For a relatively non-technical user, implementing whatever application/service one might want to use should be as simple as installing the relevant package(s) and dependency(ies) via existing, well managed package management systems.

That said, too many developers encourage self-hosting, but don't provide appropriate packages and defaults for most popular distributions.

If developers spent just a little more time creating buildable packages (supporting the creation of binary and source .rpm, .deb, etc. packages) with sane defaults/startup files could make the inclusion of such apps into the standard/extras repositories of a broad swathe of Linux distributions much simpler and, for the non-technical user, easy to install and configure.

Matrix Synapse[0] and Diaspora[1] both come to mind in this respect. Installation and configuration of these platforms requires the installation of several software development frameworks and separate (from the standard system package managers, e.g., DNF, apt, dpkg, etc.) package management tools for the language dependencies.

Requiring installation of software dev environments and building the software/databases/admin tools for such "self-hosted" solutions just confuses non-technical users.

As a professional with decades of Unix/Linux implementation and management experience, I find implementing such platforms simple enough. Just read the docs, install the dependencies and compile/install/configure the software.

For a non-technical person, that's likely a non-starter unless there's a UI that will do so automagically.

Fortunately, there is such a UI for most Linux/Unix distributions -- it's called the system package manager.

Unless and until developers provide distribution developers/maintainers with appropriate packageable sources (or even separate repositories with binaries!) to be added to the default repositories, self hosting many apps will only be the purview of technical users.

This annoys me. A lot. Not because I, personally, mind a complicated set up process for such applications, but because it limits the ability of both Linux/Unix distributions and self-hosted applications/platforms to be used more broadly by non-technical users.

Especially with tools like Diaspora, Matrix/Synapse and others which have the potential to overturn centralized hell holes like Twitter, Facebook, Instagram, WhatsApp, etc.

It's been at least five years since I first installed a Diaspora pod and a year since I installed Synapse and a STUN server. In both cases, had I not been a long-time user/manager/implementor of Unix/Linux and associated sw dev environments, the install would have been nightmarish.

For both platforms, installation pretty much requires knowledge of software development tools and practices, as well as more than a passing familiarity with Unix/Linux shells and environments.

I can't imagine my 64 year-old sister in-law (a reasonably well educated and smart cookie with decent problem-solving skills) taking the time to learn how to use git, clang/gxx or even docker to install this "self hostable" stuff.

That should be the target audience for such self hosted tools, not devs and other technical people.

Taking the time to make one's application/platform easily installable/configurable (and building from git repos and/or Docker-compose aren't "easy" for non-technical folks) by non-technical end users could make a huge difference in this space.

[0] https://matrix.org/docs/projects/server/synapse/

[1] https://en.wikipedia.org/wiki/Diaspora_(social_network)

Re:Start Self Hosting by hsn915 on Wednesday March 23, 2022 @08:28PM (#30785234)
I'd go a step further: programs aimed to make self-hosting easy should not even need a package manager. They should be self contained (statically linked) binaries. Luckily we have Go which makes this very easy to achieve, and to make things better, Go is designed for web servers. I believe we've had this ability for almost a decade, and still no one is harnessing it to make self-hosting easy and reliable.

Further more, they should require absolultely zero configuration to get up and running. We've had SQLite for many years now, so it's easy to make a webserver that does not require a separate sql server to be installed and configured in order to get going. (There are also non-sql embedded data storage engines, many of them written in pure Go, eliminating the CGO problem).

Ideally the user will download a program for their own operating system (say, windows). They will run this program, provide it with the ip and root password of their linux server which they rented from some provider, and this program will then upload the actual server program to the host machine and launch it.

Re:Start Self Hosting by Seirdy on Thursday March 24, 2022 @12:04AM (#30786280)
Echoing this. All the services on my servers (Web, Gemini, Matrix, Fediverse servers and a CSP violations collector) are statically-linked binaries running in sandboxed chroots, with no access to the outside filesystem except a subdir of my data volume mounted into the chroot. Privs are limited to a defined list of acceptable syscalls and other limitations. I'm currently working on enforcing the use of this setup with SELinux policies and transitioning my OCSP fetching and session ticket key rotating scripts to statically linked binaries so I can just stick to one template shared across all services.

It would have been much harder to pull this off if these services required large interpreters, adjacent daemons running, and complex orchestration. Given the amount of time I have, I might have just skipped the SELinux step.

Re:Start Self Hosting by hsn915 on Thursday March 24, 2022 @03:07AM (#30787042)
The reason I want things to be self contained is not for someone else to use it as a base upon which to build additional layers of complexity. That defeats the whole point.
Re:Start Self Hosting by BarbaPeru on Thursday March 24, 2022 @03:01AM (#30787018)
I hope you are not saying this is a layperson doable setup. ;-)
Re:Start Self Hosting by cyberge99 on Thursday March 24, 2022 @05:37AM (#30787756)
I think a good example of this is what Synology has done with their NAS devices. They’re as basic or as complex as you want to get (to a point). At the highest level of Synology complexity, you promote to a real general purpose server or homelab infrastructure.
Re:Start Self Hosting by 0xdeadb00f on Wednesday March 23, 2022 @04:54PM (#30783221)
I'm certainly not a layperson, but systemd frequently confuses me.

I want to edit a service to harden it for example. Oh, wait I shouldn't edit it directly with vi? Because it gets overwritten by package updates. Okay, makes sense, I need to use systemctl edit instead. But that opens a file that has everything commented out. Do I uncomment the [Unit] heading? What do I need to keep and where do I add my additions? I recall there being a comment at the start of this file, but unless I'm misremembering it doesn't answer that.

All I ask of it to do one thing - start something.service after other.service. yet it just refuses to order them this way. Why? I have no idea. I also have no idea where to start debugging a problem like this. There's a billion ways to try and do this after all: do I add Before=something to other.service? Do I add After=other to something.service? Both? Wants=something?

Re:Start Self Hosting by ayushnix on Thursday March 24, 2022 @03:00AM (#30787012)
> I want to edit a service to harden it for example. Oh, wait I shouldn't edit it directly with vi? Because it gets overwritten by package updates.

I don't think you're supposed to edit anything inside /usr, except perhaps /usr/local, but even that has a better alternative in the form of $HOME/.local, which is a well defined standard at this point.

Maybe I'm unaware or mistaken but if you're editing anything inside /usr as a normal user, you're either using Linux wrong or doing something unexpected or unusual. This is why requests to make GUI file explorers have root escalation capabilities sound absurd to me. I can't think of a reason why one would need root access when using a file manager, especially a GUI file manager.

Re:Start Self Hosting by 0xdeadb00f on Thursday March 24, 2022 @11:12AM (#30791010)
> Maybe I'm unaware or mistaken but if you're editing anything inside /usr as a normal user,

I'm not doing any of this as a normal user. I'm doing all of this as root

Re:Start Self Hosting by ayushnix on Thursday March 24, 2022 @12:50PM (#30792415)
Even in that case, if you're manually editing anything inside /usr either by being root or by using sudo, you're doing something wrong or unexpected.

Anything inside /usr should only ever be modified by the package manager, not by the root user, or any other user for that matter.

If you want to make system wide changes, make them in /etc. If you want to make user specific changes, make them in $HOME/.config, $HOME/.local. Your package manager should never overwrite anything in /etc or $HOME. If it does, it's a bug.

Re:Start Self Hosting by 0xdeadb00f on Thursday March 24, 2022 @07:02PM (#30796574)
So here's the thing, right. You are correct. And I agree.

I'll admit something; I forgot where the service files were (I don't use systemd often). So, in my unix wisdom I used `find` to find the files ending with 'service'. The only ones that came up were in /usr/lib

You're right, I'd typically never edit files in /usr. But I wasn't sure how else to do it at the time.

Re:Start Self Hosting by lvass on Wednesday March 23, 2022 @06:38PM (#30784473)
systemctl edit --full does what you want.

I wish package managers would make patching packages easy, this kind of thing is so much more manageable on Nix.

Re:Start Self Hosting by bmn__ on Wednesday March 23, 2022 @06:33PM (#30784427)
> it gets overwritten by package updates

This doesn't happen. The package manager installs the new configuration under a different name so that you do not lose your changes and can merge them easily.

Re:Start Self Hosting by johnny22 on Wednesday March 23, 2022 @06:37PM (#30784464)
what they are saying is that they edited the file in /usr/lib , which definitely would get overwritten. You're supossed to copy it into /etc/systemd/ for the appropriate service type.
Re:Start Self Hosting by v_p_n_p_v on Thursday March 24, 2022 @01:04AM (#30786525)
I think you all proved the point that this system is too complicated for anyone outside of a small group of professional IT people.
Re:Start Self Hosting by ThrashBeard on Thursday March 24, 2022 @05:53AM (#30787839)
It's complicated because it is complicated.

It's like saying a car is too complicated because I can't just swap the engine out without any prior knowledge. It's not designed for the average guy to be able to do that.

systemd is not some product meant for the average Joe, it's an integral part of the system for managing services and other things. To run a web server at least somewhat reliably you don't even need a lot of systemd knowledge but you still need to know some networking, firewalls, DNS, in general how the internet works, how to configure a web server and other services, some basic security. If you don't want to learn these things then there are managed services that you pay to do those things for you or you hire someone to run it for you. Just like you take your car to a mechanic when you're not interested in figuring out how to reassemble the engine.

Yeah, things can always be improved and made simpler but to create something fool-proof for the average person would take a huge amount of work and there would need to be a business opportunity there for someone to invest in that or there would need to be some passionate generous soul that would invest their time in a project like that.

And like I already mentioned, there are already solutions to the "it's too complicated" problem: 1) companies offering managed services, 2) companies/individuals for hire to do it for you.

Re:Start Self Hosting by lmns on Thursday March 24, 2022 @04:19AM (#30787367)
Are you implying that getting init script customisations overwritten by package managers isn't a problem with non-systemd init managers?

I have lost track how often that happened with sysvinit, because the "logic" how to treat customisations was usually handled by the package manager and they messed it up regularly.

systemd has a standard way to handle customisations. As long as you put everything you do in /etc/systemd/system, everything is fine. It's simple and works across distributions.

Re:Start Self Hosting by account42 on Thursday March 24, 2022 @04:52AM (#30787516)
> Are you implying that getting init script customisations overwritten by package managers isn't a problem with non-systemd init managers?

Traditionally, init scripts were installed into /etc but package managers (or at least some of them?) took/take care to not overwrite files under /etc but instead let you merge in the new changes.

Re:Start Self Hosting by hsn915 on Wednesday March 23, 2022 @08:17PM (#30785178)
Comments like yours are a great example of why Linux has a hard time being user friendly. You take something that's deeply technical but easy to understand for yourself, and somehow generalize it to everyone. "If it's easy for me, it is easy for everyone", without noticing that perhaps your expertise plays a big role in making it easy.

The better question is why should a layperson ever need to know about systemd in the first place.

I'm a technical person and I don't know about systemd, nor have I ever needed it.

When designing products for end users who are not technical, the overriding design goal should be easiness and reliability.

Easy: does not require special knowledge or expertise to operate.

For someone who just wants to self host, having to learn about systemd, by definition makes the product/system not easy.

Reliability: does the system implode in unexpected way based on the slight variations in the environment? If it implodes as such then it is fragile. If it does not, then it is robust and reliable.

For the end user, what matters is that the system is easy and reliable.

If the system is easy but not reliable, the user is effectively forced to become an expert in order to fix the system when it breaks. Thus, if a system is not reliable, then it doesn't matter that it's "easy".

Simple/Complicated only concerns the developers. It's important to keep systems as simple as possible under the hood, because a system that is simple is easier to make reliable than a system that is complicated. But for the end user it does not matter directly. Simplicity is about how many parts the system is composed of and how these parts interact. If there are many many parts that all have to interact with each other, then the system is complex.

Maybe once someone learns about systemd they can find it conceptually simple. But that's a moot point. The point is: they should not even have to learn about its existence.

A system where editing text files can make or break the system, is not a reliable system. It's easy to make mistakes in text files. Specially for users without expertise.

Imagine yourself a windows user. You edit a text file. Restart the machine, and now it doesn't boot, or boots in a special text-only mode. (This is not unheard of on linux based systems).

Re:Start Self Hosting by aulin on Thursday March 24, 2022 @04:16AM (#30787352)
> For someone who just wants to self host, having to learn about systemd, by definition makes the product/system not easy.

Sometimes HN threads seem to self-sustain forever starting from a pointless argument and discussing it like it was the truth.

Learning systemd is not necessary for anything in day to day life, not in desktop use, not in self hosting, default configuration from package managers work fine out of the box. At most you need to learn how to start, stop, disable and query service status.

I've been using linux since decades, way before systemd, never had to learn systemd until I needed to ship my own custom services on my own custom devices. But at the point you're way far from being a layperson.

Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @12:21AM (#30786351)
Systemd is easy compared to init scripts. Maybe that’s the comparison point. I know that’s my comparison point, since I wrangled init scripts for a couple decades before systemd, and when systemd came out, suddenly it felt a million times easier to run services.

> A system where editing text files can make or break the system, is not a reliable system. It's easy to make mistakes in text files. Specially for users without expertise.

I don’t think that’s a salvageable notion of “reliability”. I could bork Mac OS or Windows easily enough by editing text files, if I really wanted to.

Re:Start Self Hosting by hsn915 on Thursday March 24, 2022 @01:00AM (#30786499)
Here's why this matters: some systems require you to edit text files in order to work at all. But at the same time, they are extremely sensitive to the content of the text file.

Editing text file to make advanced configuration may be acceptable if the casual end user never needs to do it. When I say never, I mean never ever ever. If you need to edit it once every few months, you better have really really good "linting" facilities to tell the user right away whether their edits are going to be accepted or going to cause the system to break.

Now granted, systemd is a system utility, not an end user application.

If the system overall is built such that the end user never ever ever needs to know about systemd, then it's sort of ok.

Now, when it comes to self-hosted, the line between "system utility" vs "end user application" may be blurred.

If you think a web server is a system utility, then by all means, go ahead and make it fragile and complicated. That's how everyone is doing it.

But if you think - and at least I do - that it's important for casual users to be able to self-host their own websites with ease and reliability and without having any system level expertise, then the points I mentioned about the system not imploding due to the content of text files is extremely important.

Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @01:15AM (#30786568)
Ah, I thought you had a complaint about systemd & text files. It sounds like you are okay with it, unless I misunderstand your comment.
Re:Start Self Hosting by hsn915 on Thursday March 24, 2022 @01:27AM (#30786607)
I don't know anything about systemd, nor do I want to.

I absolutely have problems with configuration via text files.

A lot of things on linux desktops that a typical user wants to do require editing text files to work. For example, try searching for information about how to enable Japanese input in Gnome or XFCE desktops. Invariably, the steps involve installing and configuring some specific packages, and editing several text files to let the system know about the fact that you want to use an IME for text input.

This is unacceptable.

Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @01:58AM (#30786741)
> I don't know anything about systemd, nor do I want to.

Well, that’s fine. We’re mostly talking about self-hosting web servers, and you don’t need to know anything about systemd in order to run a web server on Linux, any more than you need to know about fuel injection computers because you drive a car.

The reason I’m familiar with systemd is for other reasons besides hosting a web site.

I don’t know how problems with IMEs or desktop Linux got brought up, I’m not sure I’m following the conversation.

Re:Start Self Hosting by hsn915 on Thursday March 24, 2022 @03:08AM (#30787045)
The conversation is about why it takes for something to be usable by end users.
Re:Start Self Hosting by klodolph on Thursday March 24, 2022 @12:25PM (#30792094)
I think in order for it to be a "conversation about X", more than one person has to talk about X.
Re:Start Self Hosting by Hendrikto on Thursday March 24, 2022 @05:14AM (#30787627)
Did you even read my comment? You are attacking a strawman.

> You take something that's […] easy to understand for yourself, and somehow generalize it to everyone. "If it's easy for me, it is easy for everyone"

No. I am taking something that‘s easy for me, and suggest making it easy for everybody.

> The better question is why should a layperson ever need to know about systemd in the first place.

They shouldn‘t, and I did not say so. That‘s the strawman.

Does an average Windows user know about the NT kernel? No, and he does not need to.

> When designing products for end users who are not technical, the overriding design goal should be easiness and reliability.

I agree.

> having to learn about systemd, by definition makes the product/system not easy.

You would not have to learn it though. You could just flip a switch in the GUI.

> they should not even have to learn about its existence.

And they would not have to.

I don‘t know how my car works, and I don‘t need to. I can use the simple interface (steering wheel, pedals, shift) which is exposed to me.

> A system where editing text files can make or break the system

> You edit a text file.

Again, complete strawman. You would not edit text files.

Re:Start Self Hosting by spiffytech on Wednesday March 23, 2022 @04:12PM (#30782740)
Technologists have a very skewed idea of what's complicated vs easy with computers. Things we think are absolutely trivial are often insurmountable hurdles for laypeople.

(This can, of course, happen if you put a technologist outside their element, too)

Re:Start Self Hosting by zepearl on Wednesday March 23, 2022 @06:56PM (#30784633)
> Services depending in each other isn‘t complex or difficult to understand.

It is for me with Systemd - I had to spend hours (on two different occasions, if I remember correctly on Debian & Linux Mint) trying to understand how to set a dependency against an NFS filesystem mount so that a DB would not be started before that, and to make that work reliably => Systemd's docs & behaviour (& special distro settings related to systemD?) weren't that great for me.

Re:Start Self Hosting by GrayShade on Wednesday March 23, 2022 @04:05PM (#30782671)
I swear, writing it as SystemD isa shibboleth of systemd haters.
Re:Start Self Hosting by kodah on Wednesday March 23, 2022 @04:07PM (#30782685)
For the record, I actually like and use it. I'm just at work and didn't put much thought on how to spell it. I also didn't really expect someone to care that much in a general, high-level discussion.
Re:Start Self Hosting by cozzyd on Wednesday March 23, 2022 @04:32PM (#30782963)
they are all in favor of SystemE
Re:Start Self Hosting by bqmjjx0kac on Wednesday March 23, 2022 @04:43PM (#30783094)
More like SystemSh
Re:Start Self Hosting by cozzyd on Wednesday March 23, 2022 @04:43PM (#30783098)
SystemŞ?
Re:Start Self Hosting by takinola on Wednesday March 23, 2022 @08:44PM (#30785302)
If you know what systemd is, you are, by definition, not a layperson.
Re:Start Self Hosting by Hendrikto on Thursday March 24, 2022 @05:02AM (#30787570)
End users would not need to know. They could just click the activate button in a GUI.
Re:Start Self Hosting by teekert on Wednesday March 23, 2022 @04:31PM (#30782945)
What lay person does anything with systemd though? I have all my services in a docker-compose.yaml... Sure, I remember the days before systemd, I remember upstart, Gentoo's rc.conf. I still think it's useful I can find my way trough the internals of a Linux box, but for me all that stuff is far in the past. This is how it goes nowadays: Install the system in 20 min, clone the infra as code, put the data back, start the infrastructure... Where does the init system still play a role?
Re:Start Self Hosting by vineyardmike on Wednesday March 23, 2022 @10:01PM (#30785703)
If someone says it’s complicated, then yes it’s complicated. It may not be complicated for you, but by definition someone finding it complicated makes it complicated.
Re:Start Self Hosting by bavila on Wednesday March 23, 2022 @09:50PM (#30785649)
> It has clean and logical abstractions, and consistency.

Sorry, but an actual layperson would already be lost upon reaching the word "abstraction".

Re:Start Self Hosting by Hendrikto on Thursday March 24, 2022 @05:03AM (#30787580)
I am talking to technical people here. You would not expose that terminology to end users.
Re:Start Self Hosting by rtpg on Thursday March 24, 2022 @02:57AM (#30786994)
I loved using LingonX on Mac, one of the things I'd really love to do is make that but for systemd stuff.

I think the abstractions are good, but there's a lot of terms that are needed just for the basic "Spin up this process on boot" (one might say that explicit is better than implicit, but I dunno).

Re:Start Self Hosting by friendzis on Thursday March 24, 2022 @03:14AM (#30787070)
> Services depending in each other isn‘t complex or difficult to understand.

I am not an expert here, but to the best of my knowledge systemd has no concept of inter-host dependencies, making it effectively useless for anything distributed. For example classic lb+app+db cannot be directly controlled by systemd.

Re:Start Self Hosting by teleforce on Wednesday March 23, 2022 @10:18PM (#30785788)
Totally agreed, for the sake of humanity we should strive to make self-hosting as easy and as seamless as possible.

But why stop at self-hosting? Beyond self-hosting, it could be extended to local-first paradigm meaning that there's a choice to have a scalable on demand auxiliary cloud based for handling bursty access demands if you need it. In addition, you can have extra backup for the peace of mind.

I'm currently working on realiable solutions (physical wireless and application layers) to extend the local-first system to be automatically secured even you have intermittent Internet outage unlike TailScale and ZeroTier [2]. This system will be invaluable where Internet connection is not reliable due to weather, harsh environment, war, unreliable power provider or lousy ISPs [3].

[1] Local-First Software: You Own Your Data, in spite of the Cloud:

https://martin.kleppmann.com/papers/local-first.pdf

[2] Internet outage:

https://en.wikipedia.org/wiki/Internet_outage

[3] NIST Helps Next-Generation Cell Technology See Past the Greenery:

https://www.nist.gov/news-events/news/2022/01/nist-helps-nex...

Re:Start Self Hosting by southerntofu on Thursday March 24, 2022 @08:57AM (#30789092)
> I'm currently working on realiable solutions (physical wireless and application layers) to extend the local-first system to be automatically secured even you have intermittent Internet outage unlike TailScale and ZeroTier

Sorry but i don't understand what this means. Internet outage should not affect your LAN services, no matter what selfhosting distro you use.

Re:Start Self Hosting by teleforce on Thursday March 24, 2022 @09:13PM (#30797652)
For silo self hosting, Internet outage should not affect your services, but for most of local-first services it's critical to maintain your systems security with necessary credentials. For an example consider a rental car that you take for camping in the countryside. Internet outage that makes your rental car useless is unacceptable.
Re:Start Self Hosting by southerntofu on Wednesday March 30, 2022 @09:03AM (#30854604)
I think i'm even more confused. Why would my rental car need network access at all? (it's already a shame and a great source of cost/problems that it has any electronics)

Also, what prevents my TLS/SSH/whatever certs from working in an offline setup? i do that all the time without downsides, so i'm probably missing your point. if you have a page explaining your project and usecase feel free to link

Re:Start Self Hosting by lumost on Wednesday March 23, 2022 @05:51PM (#30783937)
Having started my career in hosting, I would suggest that this world is unlikely to come back except for exceptionally small applications with minimal business impact. What does self-hosting provide which end-end encryption does not?

Self-hosting means:

- Needing to know how to configure your linux host across firewalls, upgrades, backups.

- Negotiating contracts with network service providers. While verifying that you have the right kind of optic on the network line drop.

- Thinking through the order of operations on every remote hands request, and idiot proofing them so that no one accidentally unplugs your DB.

- Making sure that you have sufficient cold spares that a server loss doesn't nuke your business for 6-12 weeks depending on how the hardware manufacturers view your business.

- Building your own monitoring, notifications, and deployment tools using both open source and in-house tools.

- Building expertise in all of your custom tools.

- A 6-20 week lead time to provision a build server.

- Paying for all of your hardware for 3-5 years, regardless of whether you will actually need it.

- Over-provisioning memory or CPU to make up for the fact that you can't get hardware fast enough.

- Getting paged in the middle of the night because the hardware is over-provisioned and something gets overwhelmed or a physical machine died.

- Dealing with the fact that an overworked systems engineer or developer is never making any component the best. And everything you touch will just passably work.

- Everyone will have their own opinions on how something should be done, and every decision will have long term consequences. Get ready for physical vs virtual debates till the heat death of the universe.

Re:Start Self Hosting by moreira on Wednesday March 23, 2022 @09:04PM (#30785404)
I think there might be a vast gap between what what the article is talking about, and what you're suggesting. Somebody self-hosting their project management app on a LAMP server on some random web hosting company is one thing. What you're talking about is something else entirely.

And yes, having a web hosting company manage your server isn't "real" self hosting, for all the reasons you described, but it's a far cry from dumping all your data with a big data-guzzling giant. Your data isn't calling home, isn't being used by a company, it's sitting on your server under your control, and only you manage it.

I think that's their main gripe.

Re:Start Self Hosting by lumost on Thursday March 24, 2022 @10:02AM (#30789888)
There are a few tiers of hosting providers ranging from "We rent you server space", "We rent you a physical server with internet access", too "We rent you a VM" or "We rent you services you may want to access".

The privacy angle of self-hosting generally ends as soon as you are renting a physical server with internet access. Someone else has access to the hard drives, the network traffic, the hardware, and via hardware remote access the OS/Data. At this point you would need to trust the legal bindings on what the hosting company can and can't do to your physical machine.

One really exciting angle on end2end encryption is that your provider may be technically incapable of any malpractice (for better or worse, I may wish my provider could have a sys eng bail me out every now and then).

Re:Start Self Hosting by chaxor on Thursday March 24, 2022 @01:32AM (#30786624)
I think the point is that most of this, other than buying extra hard drives, is solved by having a decent FOSS project.

For example, an OS that has a nextcloud-like suite of services, and a very easy to use GUI to enable a VPN / mesh network for all of your devices pretty much removes much of the concerns you mentioned regarding networking/firewalls/etc.

Re:Start Self Hosting by linker3000 on Thursday March 24, 2022 @07:08AM (#30788292)
... so, basically, just how we ran an IT services department in the 1990s and early 2000s.

Except that:

Build servers took a day or so depending on the approval chain.

Hardware could be leased, or the capital expendite written off over 3 years, plus it came with a 4-hr onsite service warranty (if you worked with the right partners), and it being a capital, rather than operational, cost had bottom-line benefits.

24/7 service coverage for major incidents was very doable if you planned correctly, plus you owned the kit and so could control how you brought in resources to support incident recovery, rather thank waiting for your service provider to put the green dot back on their service status page.

//CSB The max total outage time for one corporate where I ran the IT dept was 12 minutes in 3 years, while we swapped out an HP battery-backed disk cache controller that took itself offline due to a confidence check failure.

Re:Start Self Hosting by lumost on Thursday March 24, 2022 @09:51AM (#30789748)
aye - and it took time to setup all of those things, time to maintain the gear, delays for business/dev teams while the IT department made sure they knew how to run something stably.

> Build servers took a day or so depending on the approval chain.

This would only be true in a large shop with cold spares or virtualization. Server hardware generally has a 6-12 week lead time. The exception being if you are paying out the nose to a reseller who could do faster delivery.

Just imagine the time it took to setup Nagios or Zabbix for monitoring. In a small shop you are probably talking about at least 1-3 days of work + calendar time for hardware. Add to that some time for dealing with scale of metrics storage etc. depending on the shop.

Re:Start Self Hosting by PedroBatista on Thursday March 24, 2022 @08:53AM (#30789057)
You’re talking about running a tank battalion in WWII when we were talking about learning how to drive a car with manual transmission.
Re:Start Self Hosting by wallacoloo on Thursday March 24, 2022 @07:26AM (#30788415)
i started self-hosting a bunch of stuff last month: Pleroma (like Mastodon/Twitter), Matrix (chat), Gitea (like Github) and Jellyfin (like Plex, a media server). AFTER i set up the hardware/OS, these each took about 1-2 hours to setup, and it gets faster each time as i get more accustomed to the common parts (nginx, systemd, Lets Encrypt, and whatever containerization you use).

today i accidentally nuked everything by not flushing the disk before rebooting and then naively letting fsck try to ‘fix’ it (which just makes things worse since it unlinks every inode it thinks is wrong instead of helping you recover data). now i’m manually dumping blocks and re-linking them in, supplementing whatever’s not recoverable with a 3-day old backup. that’s probably gonna take an entire day to fix up.

after this i have to figure out a better backup solution, because it costs me $5 of API requests every time i rclone the system to Backblaze, making frequent backups too expensive.

after that, i have to figure out the email part of things. AFAICT it’s pretty much impossible to 100% self-host email because of blacklisting. you have to at least proxy it through a VPS, or something.

and in between that i may spin up a DNS server to overcome the part where it takes 60min for any new service to be accessible because of the negative caching common in DNS.

no, this stuff is just way too involved for anyone who hasn’t already spent a decade in the CLI. i’m only doing this because i’m a nerd with time on his hands between jobs. self-hosting isn’t gonna catch on this decade. but maybe we can federate, so that you just need to have one friend who cares about this stuff manage the infra and provide it to their peers as a social good.

also, i don’t think privacy is the right angle for promoting self-hosting. a good deal of the things that people self-host have a public-facing component (websites; public chatrooms; etc). if privacy is what you seek, then you should strive to live life offline. the larger differentiator for self-housing is control.

Re:Start Self Hosting by spacemanmatt on Thursday March 24, 2022 @08:18AM (#30788782)
After I've built a server for a purpose, the one thing I want most is a script that does it again. Spending another identical hour on a similar server just makes me sad.
Re:Start Self Hosting by southerntofu on Thursday March 24, 2022 @09:01AM (#30789146)
That's precisely why i started working on https://codeberg.org/southerntofu/ansible-selfhosted

Its abstractions are still a bit shaky and a lot can be improved so it's far from ready for the general public, but i still consider it a great step forward because for the supported configurations, all i have to do to setup a new server is:

- edit config.yml

- run roles/deploy.sh

- enjoy

I'm happy to answer any questions on why (politics) and how (technics) i'm building this, and i'd be more than thrilled to receive feedback and contribution. In the past week i started working on a test suite so it's easier to contribute.

Re:Start Self Hosting by southerntofu on Thursday March 24, 2022 @09:07AM (#30789199)
> today i accidentally nuked everything by not flushing the disk before rebooting

What do you mean? Did you interrupt the reboot process (eg. repetitive ^C)? Otherwise the OS should flush everything properly.

> after this i have to figure out a better backup solution

If you have other friends doing selfhosting, giving them a HDD to put in their server so you can rsync your data is a good solution. Also, keeping another local backup is a good solution. Doing both is even better.

> AFAICT it’s pretty much impossible to 100% self-host email because of blacklisting

It depends. It's almost impossible with some bad-faith providers (google/microsoft) otherwise everything works well. And even with those bad-faith providers, residential IPs usually have better reputation (if only because your ISP likely blocks outgoing TCP 25 by default and you have to ask them to unfilter it) than VPS IPs which all have a long history of abuse.

> and in between that i may spin up a DNS server to overcome the part where it takes 60min for any new service to be accessible

If you didn't previously query that domain name on your resolver, it will not be cached and will resolve quasi-instantly. The question is how long does your authoritative name server take to apply your changes to the config: if it takes any longer than 10s you should consider switching providers.

> but maybe we can federate, so that you just need to have one friend who cares about this stuff manage the infra and provide it to their peers as a social good.

Very good point! That's the entire premise behind hosting coops like disroot.org or various members of the libreho.st/chatons.org federations.

Re:Start Self Hosting by wallacoloo on Thursday March 24, 2022 @03:38PM (#30794418)
> What do you mean? Did you interrupt the reboot process (eg. repetitive ^C)? Otherwise the OS should flush everything properly.

here’s my best guess: in my setup i have a host running a qemu vm and most of the interesting stuff happens inside the vm. originally that vm image was just 8 GB, but then i got a HDD to dedicate to it. with VM powered off, i partitioned the HDD and then dd’d the VM image onto it. then i booted the VM via KVM passthrough of /dev/sdb…

it booted fine; i ran ‘df’ and noticed that i forgot to resize the fs to the HDD, so i ran resize2fs. 3 days later, i `shutdown` the VM and then `reboot`d the host. the host didn’t actually come back: the power light and activity lights were off. after 5 minutes of this i power-cycled at the wall socket.

host came back up. vm wouldn’t boot. ran fsck from the rescue shell. now it booted, but no services were operational. since i couldn’t login to the vm (ssh broken + password logins had long been deactivated), i shutdown the vm and mounted its fs on the host. ‘df’ showed that the host thought the fs was only 8 GB in capacity.

i don’t think it was outright disk corruption, because the poweroff wasn’t that messy (but i come from btrfs, which has handled like 20 power faults on me w/ zero issue: idk how solid EXT4 is to these things). my best guess is that somewhere along the way, the changes from resize2fs didn’t actually make it to disk, or were overrided with stale in-memory values. maybe when i updated the guest’s kernel some post-upgrade script did something to push the old fs size to disk somewhere. or maybe the host had the old 8 GB fs size cached and flushed that during shutdown/start. unfortunately i’m not sure i’ll ever know.

Re:Start Self Hosting by kovac on Wednesday March 23, 2022 @09:25PM (#30785536)
For laypeople self-hosting is out of the question for now. I'd say the more immediate problem is that even for competent engineers this is a difficult task with all the artificial restrictions put in place in the name of security, anti-fraud, etc.
Re:Start Self Hosting by gigatexal on Thursday March 24, 2022 @05:34AM (#30787742)
This. I think -- speaking for myself mostly -- folks move to cloud for the simplicity a web interface provides. If you like, there's usually a CLI that abstracts the compute and other things. Self hosting -- at least whenever I did it -- was always: start with a VM, install Linux, configure ports, configure security, install a webserver, deal with the security of that, manage conf files, deploy website, etc etc

Host a static page on github pages makes all that a ton easier and also free.

That's a trite example sure. But when I was at a previous company who did almost everything on premises I couldn't help but think if we had an internal portal/system a la GCP's console or that of Amazon's that could be a way for devs to spin up resources and have it all managed and even be a bit programmatic (no no K8s doesn't solve all of this it's its own bag of crazy) then we'd not need cloud much since we'd not need the almost infinite scale that cloud offers.

Re:Start Self Hosting by eternityforest on Thursday March 24, 2022 @03:36AM (#30787165)
The problem is certificates and WAN access, and lack of MDNS on Android. There's basically no way to do anything that doesn't involve some manual setup, aside from developing a new purpose built app, and maintaining it in addition to the product, probably on two platforms.

If Mozilla still had FlyWeb things could be plug and play.

I have a set of proposals here to bring some of that back: https://github.com/WICG/proposals/issues/43

And some are considering the Tox protocol, but in general, we have not solved the most basic issue of self hosting. How do I connect to my device in a way that just works, LAN or WAN, without manually serting up the client or registering for a service?

Re:Start Self Hosting by swiftcoder on Thursday March 24, 2022 @07:20AM (#30788376)
The only model I've ever seen this work is the Mac/Windows model. You provide a standard installer for the server (or even distribute it via the app store). The user launches it through the standard graphical app launch model (Finder or Start Menu), the server displays a suitably user-friendly GUI configuration panel, and then minimises itself to the notifications tray.

The linux model of "first learn how to use a package manager, edit configuration files by hand, and configure init scripts" is never going to be something that I can comfortably explain to computer users like my parents...

Re:Start Self Hosting by ClumsyPilot on Wednesday March 23, 2022 @10:08PM (#30785745)
Most consumer platforms don't have functional automatic backups, so this is a pie in the sky at the moment. Even for a proffesionsl, self hosting is kind of time consuming
Re:Start Self Hosting by raxxorrax on Thursday March 24, 2022 @08:36AM (#30788903)
You can still self-host and use external resources to manage network and system security. You would keep full control over the machine this way. Having professionals sensibly partitioning different resources in respective subnets is still one of the most valuable defense mechanisms against many threats.
Re:Start Self Hosting by Havoc on Wednesday March 23, 2022 @04:36PM (#30782996)
Quite surprised at seeing CasaOS mentioned so often here. It's quite a young project & best as I can tell it was sorta a sideproject of the guys sitting on their hands while trying to ship Zimaboard kickstarter hardware during a ship shortage.

Good for them that it is seeing traction :)

Re:Start Self Hosting by Semaphor on Thursday March 24, 2022 @12:48AM (#30786458)
Huh, ZimaBoard [0] (Hardware SBC project by the CasaOS people) looks super cool. Sadly still on pre-order, but that is almost exactly what I want.

[0]: https://www.zimaboard.com/

Re:Start Self Hosting by fknorangesite on Wednesday March 23, 2022 @05:01PM (#30783318)
> Self-hosting is something that we should be constantly iterating on making easier

I'm pretty sure that's exactly what we did and ended up where we are today. Any sufficiently-advanced self-hosting is indistinguishable from AWS?

I'm not sure how joking I am.

Re:Start Self Hosting by chaxor on Thursday March 24, 2022 @01:38AM (#30786652)
You don't really have control of any of the hardware on AWS, and therefore they can track everything you do. (If they say they don't, you just have to trust them - there's never a real way to verify) If you're fine with that, then OK - but the public has been shown time and again this doesn't always end happily. So if they leak all of your life's passwords in plaintext, you have to be ok with that.

Which is exactly why OP pointed out this is where we should be headed if we care about privacy.

Re:Start Self Hosting by gz5 on Wednesday March 23, 2022 @05:12PM (#30783458)
tailscale is strong for network-centric use cases.

openziti is strong for app-centric use cases - put the (programmable, zero trust) network into your self-hosted app (via SDKs for various languages), rather than putting the app on the network.

https://openziti.github.io/ (quick starts) https://github.com/openziti

disclosure: founder of company selling saas on top of openziti

Re:Start Self Hosting by pbronez on Wednesday March 23, 2022 @09:21PM (#30785508)
That’s pretty cool. So I could use Ziti two write a client-server app where the server is only accessible/visible to clients running Ziti with appropriate keys?
Re:Start Self Hosting by gz5 on Wednesday March 23, 2022 @09:29PM (#30785558)
yep, literally shut down all inbound firewall ports and link listeners. keys are bootstrapped and you can add your own CA if desired (RFC 7030).

https://ziti.dev/blog/bootstrapping-trust-part-5-bootstrappi...

Re:Start Self Hosting by karmakaze on Wednesday March 23, 2022 @07:09PM (#30784726)
It's pretty easy to write a unit file for a service and install/use it. A layperson could easily follow a guide with just a few of the most common cases.
Re:Start Self Hosting by Isthatablackgsd on Wednesday March 23, 2022 @08:49PM (#30785332)
As a layperson, no I don't. You will be surprised how many of us couldn't easily follow and understands guides for self-hosting. It took me a while to set it up since the documentation expects me to know everything. Which that is fair because self hosting are technical and requires some knowledge to set it up properly. The challenge is that where I can learn this knowledge in condensed manner? There probably are something out there but they are not centralized enough to help laypeople to run it. Let alone trying to learn how to keep it secured.
Re:Start Self Hosting by asoneth on Wednesday March 23, 2022 @09:31PM (#30785570)
These may seem like very easy tasks for you.

If you truly believe that a layperson can "easily follow" a technical guide or that a guide with the most common cases is sufficient to maintain a webserver... then the only thing I can say is that your experience with both laypeople and webservers is worlds apart from mine.

Re:Start Self Hosting by wmf on Wednesday March 23, 2022 @10:04PM (#30785721)
This thread is sad. You don't need to create a unit file to install Fortnite. Why set your sights so low?
Re:Start Self Hosting by jdrc on Thursday March 24, 2022 @09:19AM (#30789341)
There was a time when everyone and their brother were self hosting: napster, kazaa, hotline etc. Why has this trend stalled for 20 years
Re:Start Self Hosting by pishpash on Thursday March 24, 2022 @01:44AM (#30786679)
What about the hardware side of this? All this talk about software...
Re:Start Self Hosting by Phlogi on Thursday March 24, 2022 @03:14AM (#30787066)
Can CasaOS run compose stacks or simply containers?
Re:Start Self Hosting by Zeik0s on Thursday March 24, 2022 @06:51AM (#30788179)
can do both, iirc.
Re:Start Self Hosting by ddaalluu2 on Friday March 25, 2022 @09:28AM (#30801887)
First off it's systemd not systemD. And it's not complicated, in fact it's simpler than writing shell scripts. Portainer is a bad docker clone but more often than not doesn't work with docker scripts. But containerization is the wrong way anyway. If you can't setup a certain service on your machine you should not expose that host to the internet. That might sound arrogant but only for the inexperienced mind. Packaging everything in a docker package doesn't remove the burden of responsibility of operating an internet-exposed host. Idk what you're even trying to say. It feels like you're just throwing buzzwords out there without knowing what they mean or what they're for. If you want VPN wireguard is your choice. If you need a gatekeeper/firewall opnsense or openwrt.