How ยท 01
The foundation for everything that follows: what a server is, how it gets found, and why a terminal is less intimidating than it looks.
A server is, technically, just a computer. What makes it a server is what it's used for: your laptop is there for you to use, while a server is there for other computers to use. It stays reachable over the internet around the clock, even when your laptop is long since closed and back in your bag.
When you "rent" a server from Hetzner, Netcup, or another provider, all you're really renting is a slice of computing power that's always switched on, with a fixed address on the internet: your IP address.
Every server has an IP address, a string of numbers like 91.107.xxx.xxx. It works like a street address on the internet. Every packet of data sent to your server finds its way there via this number.
A domain like mysite.com is ultimately nothing more than an alias for one of these IP addresses. It's easier for people to remember, but it always translates back into that exact string of numbers. Exactly how that works is the topic of the next deep dive.
Servers usually don't have a screen or a mouse. You control them through a terminal: a text line where you type commands and get text back. At first glance this seems more technical than it is; it's simply a different way of talking to a computer. Instead of clicking an icon, you write the name of what should happen.
Access happens via SSH (Secure Shell): an encrypted connection from your machine to the server. You type ssh root@your-ip-address, enter your password (or use a key), and you're typing directly on the remote computer, as if you were sitting in front of it.
While setting things up, you'll almost always run into the term root. Root is a server's administrator account, the one allowed to do anything: install software, delete files, change settings, no questions asked.
That sounds scarier than it is day to day. On your own server, running only your own projects, you're normally the only user anyway. Being root simply means having the control a rented SaaS product never gives you. The one rule of thumb: don't blindly run commands you don't understand. When in doubt, show them to an AI first and ask what they do.
Most guides today take this one step further: instead of staying logged in as root all the time, you create a separate, ordinary user account and reach for a command called sudo, short for "superuser do," only for the one line that actually needs admin rights. You briefly borrow root's powers for that single command, then go back to being a regular, much less dangerous user. It's a small habit that meaningfully limits the damage a mistake (yours, or a compromised app's) can do. It's also where this site gets its name.
All of this (terminal, SSH, root) existed 20 years ago too, and it's exactly what made self-hosting a nerd topic for so long. The technology hasn't changed much. What's different is the support: any error message can be explained in seconds today, and any command can be checked before you run it. The learning curve is the same as it always was. You just don't have to climb it alone anymore.
What's next
Put what you've learned into practice right away, or keep reading once the next deep dive on Docker is available.