I am trying to use my old laptops for self-hosting. One has a 6th gen Intel Core i3 (4GB ram), the other has an 11th gen Intel Core i5 (8GB ram). I have previously tried both ubuntu server and desktop but couldn’t get it to work well. For the former I found it difficult to remote ssh and the latter I had difficulty installing Docker containers. (I’m not very good with the command line)
I would like to find an OS that is easier to setup with less of a neccesity for the command line (I would still like to learn how to use it though, I don’t want to get rid of it entirely!). I’ve heard of CasaOS, is that a good option? It seems quite easy to use. What about other alternatives?
If you’re afraid of the terminal, you won’t get far in self hosting. You should learn to use the terminal. It’s not as scary as people make it sound.
You mentioned having issues with SSH into your old server. You can install a desktop environment if it makes things easier for you, but you should still learn how to be proficient in the terminal. Proxmox might help. It lets you create and manage VMs through a web interface. It can be annoying if you’re not super familiar with networking though.
Could you recommend a source for learning how to use the command line? In the past I struggled with understanding the basic commands and the various flags. I’ve found it difficult to find good documentation, but I would like to learn
I highly recommend O’Reilly’s Learning the Bash Shell in paperback form: https://www.oreilly.com/library/view/learning-the-bash/0596009658/.
The other responses you’ve received so far don’t offer much insight into the historical background and underlying mechanics of the shell, which are crucial to understanding the "Why?"s of command-line quirkiness.
A 20 year old paperback book seems like a bad choice.
It’s a 36 y/o language, mate. I still reference my copy all the time, and found it to be a great definitive resource when I was learning.
How many bash 4/5 features are you seriously using on a regular basis? What do you think is out-of-date?
Are you under the impression that that language hasn’t changed?
Bash has had some nice minor features and syntax sugar added, but the fundamentals are entirely the same. All the examples in the book work just the same today as they did when it was written.
What was added in 4.X or 5.x that you can’t live without? What do you think has changed that merits inclusion?
It’s been a long time since I learned, so I don’t remember exactly what I used, but at a cursory glance, this one looks good:
https://www.terminaltutor.com/
Also, learning to read man pages will help a lot. Here’s an article on that:
https://itsfoss.com/linux-man-page-guide/
I do remember using “terminal cheat sheets” like this:
https://phoenixnap.com/kb/wp-content/uploads/2023/11/linux-commands-cheat-sheet-pdf.pdf
Thanks for the very practical resources!
TBF ChatHPT is probably your best bet
It’s not as scary as people make it sound.
It is not “scary”. It is complicated and requires special knowlege.
I wouldn’t call it complicated, but yeah, it’s special knowledge. So is all of self hosting.
You wouldn’t. A lot of tech people wouldn’t. But it is. I’ve found this out the hard way, after spending dozens of hours trying to figure it out. You’re not doing anyone any favors.
It’s not any more complicated than a GUI, it’s just that the dozens of hours you spent learning to use a GUI was a long time ago, and you don’t remember how complicated it was.
Also, you’re probably exaggerating, because dozens of hours is way longer than it should take to become proficient at the terminal. There are resources online that you can use to learn in a few hours.
it’s just that the dozens of hours you spent learning to use a GUI
This is utter nonsense. You do not need to learn to use a GUI. You just look at the available buttons and click the ones you need. And when you click them they do what they say, they don’t return a “command not found” or “undefined error” with zero diagnostic information. And they work the same regardless of what OS or distro you’re on.
The fact that you don’t understand this is why you’re not qualified to tell people that it’s “not scary”.
Ok, so it’s been long enough for you, that you can’t even conceive of not knowing how to use a GUI anymore. Good for you, I guess.
Self hosting is doomed until this isn’t the answer. You know what the only self hosting projects to come close to getting any real adoption are? Plex and Home Assistant. And guess which two projects can be setup with the terminal?
Yeah, this whole “Linux server” thing just isn’t going to take off.
Notice that it hasn’t amongst mainstream consumers.
You know what self hosted projects have been successes? Plex and Home Assistant. You know what projects don’t require the terminal? Plex and Home Assistant.
Notice that it hasn’t amongst mainstream consumers.
What? A niche technical hobby isn’t popular among mainstream consumers? Wow!
Mainstream consumers don’t know words “Plex” and “Home Assistant” either. There are already products that target these people. And there are products targeted at technical people. We need diversity.
Self hosting is just an extension of open source software. It’s only goal is being able to run your own backends of apps to not be exploited by major companies. It’s goal is not to be a niche technical hobby, if that’s your goal in its own right, then get a model train or a Warhammer set.
Mainstream consumers don’t know words “Plex” and “Home Assistant” either.
Yes, they do lol. It’s flat out weird to think that the only people who have ever heard of pirating are software developers and server admins who use the command line.
You got into Self Hosting for unreasonable ideological reasons
I got into self hosting to avoid AWS Fees
We are not the same
Notice that mainstream customers dont self host.
You’re viewing this through an incredibly skewed lense. The average person will never even consider self hosting nor will care, if anything the average person prefers cloud services. Who cares if server grade software is terminal only? Its good enough for the companies that sponsor these projects and its good enough for enterprise level users.
Notice that mainstream customers dont self host.
Yes, that’s what they said.
You’re viewing this through an incredibly skewed lense. The average person will never even consider self hosting nor will care, if anything the average person prefers cloud services.
The only lens I’m viewing this through is one that dares to imagine that the Venn diagram of “computer users savvy enough to care about privacy” isn’t 100% contained within the circle of “computer users savvy with the terminal”.
Quite frankly your stance that the ‘average person’ doesn’t care, when this post is LITERALLY from an ‘average person’ who does, is the one that seems off base on its face.
This is literally lemmy, a (relatively) niche platform where somebody is asking about a (relatively) niche subject. I dont think anything about this is a average person. Also im viewing this through realistic lenses, enterprise software developers fund TTY server grade software and people like you who complain about that are very rarely the type of people who contribute or make software. Yeah sorry but imagining is worthless unless you can code and your complaints come off as entitled whining.
This is literally lemmy, a (relatively) niche platform where somebody is asking about a (relatively) niche subject. I dont think anything about this is a average person.
‘Average person’ was in quotes because it’s the language you used to describe someone not comfortable with the command line.
Notice that it hasn’t amongst mainstream consumers.
Good. Mainstream consumers don’t understand enough about networking and computer security to be trusted to self-host anything beyond desktop applications. And even that is debatable. They’re so bad at it that walled-gardens have become ubiquitous just to keep viruses from running rampant.
It isn’t, self hosting just isn’t for everyone, and it never will be.
Self hosting isn’t likely to ever get to the point of “plug and play”. It’s inherently incredibly flexible and different people will do different things with it. Some people just want NAS. Some people want to build a router. Some people want to have a modest compute farm that they physically own. Some people want a virtualization playground. Or pretty much anything else you can think of, or some combination thereof.
For instance, I custom built a 2-tier + optane cached NAS running proxmox, and I have a handful of old thin clients I can spin up for doing Beowulf things when I feel like it, and I also have another repurposed thin client with an old enterprise-grade SFP+ NIC running pfSense as my router that can support up to 10g (futureproofing).
Self hosting will always remain a hobby thing. Most people won’t give the time need to properly admin their own system and an improperly admined system is a risk that you don’t want to take with your precious data. I can’t blame people for not doing this - there are ball games to watch, saw dust to make, kids to raise, and millions of other things to do with your free time such that you cannot do everything you might want to. Sure most people could learn to do this, but it isn’t a good use of their time.
What the world needs is someone trustworthy and cheap enough to handle data for people who have better things to do. Which is why I have fastmail handle my email. I self host a lot of other things though because I don’t know of anyone I can trust to do a good job for a reasonable price.
Generally, Linux Servers are best administered from a command line. At least in the beginning to set everything up. In turn they are faster on lower hardware as they dont even have a graphical desktop at all so need less resources. You could of course install a windows server OS. They can be fully administered through Remote Desktop and a GUI.
There are multiple projects to make self hosting more accessible (like casaOS). They automate many steps of the setup and then offer you a webUI for further steps. Maybe have a look here https://github.com/awesome-selfhosted/awesome-selfhosted?tab=readme-ov-file#self-hosting-solutions
Woah, there’s a lot. Nice that there’s plenty of options!
I run my home media server ( and intel NUC i5, so nothing super powerful) running Ubuntu with CasaOS.
There’s tons of you tube videos to help with CasaOS for self hosting and not just the media side.
I think I only used the terminal to install CasaOS the rest is done from the web gui
I can recommend you Debian, since it’s the “default” for many servers and has a lot of documentation and an extremely big userbase.
For web interfaces, I can recommend you, as you already mentioned, CasaOS and Cockpit.
I used CasaOS in the beginning and liked it, but nowadays, I mostly use Cockpit, where I have the feeling that it integrates the host system more, and allows me to do most of my maintenance (updating, etc.) quite easily.
CasaOS is more aesthetic imo, and allows you to install docker containers graphically, which is better for beginners.
I personally do my docker stuff mostly via CLI (docker compose file) nowadays, because I find it more straightforward, but the configuration CasaOS offers is easier to understand and has nice defaultsThanks, that was really helpful :D
I’ll try CasaOS then, and later maybe I could move to Debian once I get better at the command line!
For what it’s worth, CasaOS isn’t actually an operating system. It absolutely works as an easy way to install and manage your self-hosted apps if you aren’t comfortable with the command line, but you still need to have a working Linux installation.
Yunohost is kind of similar as far as making things easier, but it operates as a standalone OS, so might be more what you’re looking for.
CasaOS isn’t an OS, it’s just the web interface you install afterwards you have Debian or whatever running
I ended up installing Debian since Yunohost can’t install and my old laptop doesn’t meet the hardware requirements of TrueNAS Scale
By the way, you can still run the Yunohost installer ontop of your Debian install… If you want to… It’s Debian-based anyway so it doesn’t really matter if you use its own install media or use the script on an existing Debian install. Though I feel like adding: If you’re looking for Docker… Yunohost might not be your best choice. It’s made to take control itself and it doesn’t use containers. Of course you can circumvent that and add Docker containers nonetheless… But that isn’t really the point and you’d end up dealing with the underlying Debian and just making it more complicated.
It is a very good solution if you don’t want to deal with the CLI. But it stops being useful once you want too much customization, or unpackaged apps. At least that’s my experience. But that’s kind of always the case. Simpler and more things automatically and pre-configured, means less customizability (or more effort to actually customize it).
thanks! Maybe I could check out cockpit and portainer too…
Almost all of selfhosting is editing config files, setting permissions and starting/stopping services.
Setting it up so you can administer a server by desktop is probably as hard as learning how to edit config files from a terminal. Maybe harder.
Yep my thoughts. New selfhosters think the hard part of selfhosting is command line but that’s “kinda” like thinking that the hard part of math is writing numbers on paper. Terminal is just the medium, not the complex part. Navigating filesystem and editing files is easier on the desktop but changing permissions and managing services would be be extremely difficult for a newbie without using the terminal because (almost) every online tutorial uses terminal. OP would have to learn how to translate the terminal command to its desktop counterpart at which point they might as well use the terminal.
OP also has an XY problem. They asked for a system which does not require terminal usage but they should have actually asked for an easy to set up system. People are recommending things like Yunohost though, so it’s fine in the end.
OP also has an XY problem.
Oh god, that… I recently realized that I’ve been fighting that concept with one of my cars for over a year now. Just this week, I finally figured out the right troubleshooting path 😂
YUNOHost iso is basically just Debian, but the one-click-install for various self-hosted things is it’s primary purpose. All done through web interface.
YUNOhost is designed for this. You can do almost everything graphically via the webadmin. Mine has been running for a couple of years and I’m very happy with it. I have email, XMPP (both of which were installed out of the box), a website, file sharing and a few other things. There are a tonne of apps available, including Fediverse instances, Nextcloud. It’s a very cool thing to have available for making self-hosting more accessible.
Unraid is great for beginners.
The command line is an exceptionally useful tool, you may want to spend a little time getting familiar with it and common command line tools that would probably make self hosting almost anything easier.
It’s like wanting to learn to play guitar but not learning how to restring and tune it, sure it’s not necessary but you’re going to be overly dependent on others to do something you could learn for yourself with a little time and patience, and it will probably broaden your perspective on what you can do once you do get familiar with how to pipe commands together and combine basic tools into something more sophisticated and complex.
You can install some Linux distro and then install a docker management web UI like coolify. Requires little terminal knowledge. Though you should learn the terminal.
Try the Fedora Server distro, afaik it should come with Cockpit installed: https://fedoraproject.org/server/
The trade off with Fedora is that has a support window of only a year
There are also Rocky and Alma
don’t go with server variants of the OS. they are intended for boxes that work without display and keyboard, which you have. instead, install any normal distro you’re familiar with. it’s infinitely easier to fix something with the full GUI at your disposal.
this is just your first install, you will iterate, and through that process you’ll get better and leaner, in terms of underlying OS. think of it as training wheels on a bike, you’ll pull them off eventually.
wired connection only, leave wireless turned off, and assign it a static IP address.
don’t do containerS, do one container first. figure out where you’re gonna store the compose files, where it will store data, how you will back that data up, etc. then add another. does it fit into your setup? do you need to modify something? rinse. repeat.
casaOS, aside from it’s murky background (some chinese startup or sumsuch, forgot?) doesn’t provide that path forward nor allows you to learn something, too much hand holding.
good luck.
ah okay, gotcha. So no CasaOS then. Lots of others suggest YUNOHost, is that fine?
I was in the same spot about 3 years ago and I started with Unraid. Got me into docker and dipping my toes into command line stuff.
Honestly though you’re going to quickly outgrow your old laptops…
Not that I’m using them, but what about these two?
Just from the handful of OSs I’ve tried, I’d suggest Ubuntu desktop again.
As for docker, I’d say to get docker and docker compose setup. Once you’re running in docker compose, adding machines is often as simple as editing some markup in a text editor.
But my final suggestion is to crawl before you walk before you run. Start slow in the terminal. Instead of using your file explorer, navigate directories using the terminal and then open the directory you need into the file explorer using the terminal.
Want a new file? Use
touch
. Want a new directory? Usemkdir
. Eventually, it’ll become annoying to open a file from your explorer when you could just open it from the terminal. Then, you’ll get annoyed with text editors and want to reduce your context switches by using vim.Also,
--help
is your best friend when trying to figure out commands. You got this! Feel free to send me a message if you wanna chat and have any questions when you’re ready to start dipping your toes. I’m far from an expert, but I’ve made some progress of my own and eventually we might learn a thing or two together.