News for hackers. Stuff that matters.
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.