Servers · The Linux Dojo

The types of servers

A server is a computer that provides a service to others. Here are the big families — and the ones you set up yourself in the Dojo.

1 · By the service provided

What the server does

One machine can hold several roles: a website, its database and mail can perfectly well live on a single VM.

"Project" = a guided Dojo project, on your real machine. The software names are examples among the most widespread.
Type What it is for Well-known software 🥋 In the Dojo
🌐 WebServe websites and web appsNginx, Apache, Caddy✓ Project "My personal site online" + Nginx chapter
🔀 Reverse proxyA single entry point that spreads the traffic across several serversNginx, HAProxy, Traefik✓ Project "A single portal: Nginx as a reverse proxy"
🚪 Forward proxyFilter and speed up a network's Internet accessSquid✓ Project "The company proxy (Squid)"
📁 FilesShare files over the networkSamba, NFS, SFTP✓ Project "My file server"
☁️ Personal cloudFiles, calendar and contacts synced on all your devicesNextcloud✓ Project "My personal cloud (Nextcloud)"
📧 MailSend (SMTP) and receive (IMAP) e-mailPostfix, Dovecot, docker-mailserver✓ Boss project "My mail server"
🧭 DNSTurn a name (dojo.com) into an IP addressBIND, Unbound, Pi-hole✓ Project "Pi-hole — network-wide ad blocker"
🔒 VPNReach your network from anywhere, encryptedWireGuard, OpenVPN✓ Project "My personal VPN (WireGuard)"
🎬 MediaStream your movies, music and photosJellyfin, Plex, Immich✓ Projects "My personal Netflix" and "My photos (Immich)"
🐙 Code & CI/CDHost code and deploy on every changeGitea, GitLab, Jenkins✓ Projects "My personal GitHub (Gitea)" and "CI/CD"
🔑 PasswordsA vault shared by the whole familyVaultwarden, Bitwarden✓ Project "My password vault"
🎮 GamesHost a multiplayer gameMinecraft, Valheim✓ Project "Minecraft server"
🏠 Home automationDrive lights, sensors and heatingHome Assistant✓ Project "My smart home"
📊 Monitoring & backupGet alerted of outages, never lose your dataUptime Kuma, Prometheus, restic✓ Project "Backups + monitoring"
🗄️ DatabaseStore and query the apps' dataPostgreSQL, MySQL, MariaDB, RedisUsed by Nextcloud, Gitea, Immich…
📡 DHCPHand out an IP address to every device automaticallyKea, dnsmasq (and your router)Culture: your Internet router is one
👥 DirectoryManage the accounts and rights of a whole companyActive Directory, LDAP, FreeIPAUser management chapter (the basics)
2 · By its form

Where the server runs

🖥️

Physical

A real dedicated machine: a rack server in a datacenter… or an old PC at home.

Every Dojo project also works on an old PC
🪟

Virtual machine

A complete computer simulated inside a real one. You can run several on a single machine.

In the Dojo: "My first VM" + Virtualization (KVM) chapter
📦

Container

An app packed with everything it needs, lighter than a VM, starting in a second.

In the Dojo: "Dockerize everything (Docker Compose)"
☁️

Cloud / VPS

A server rented by the month from a host, reachable from the whole world with a public IP.

OVH, Hetzner, Scaleway, AWS, Azure
🍓

Mini server

A small box drawing only a few watts, always on.

Raspberry Pi, Synology NAS
⚡

Serverless

No server to manage: you hand over the code, the host runs it on demand.

AWS Lambda, Cloudflare Workers
3 · By its use

Who it runs for

🏡

Home · homelab

Your cloud, your Netflix, your VPN: for you and your family. The best training ground.

🏢

Company

Shared files, directory, mail, printing: on the company's internal network.

🌍

Production

Sites and apps used by thousands of customers, which must never go down.

🧪

Test · development

A copy to try things safely before touching production.

Almost all of them speak Linux

The vast majority of web servers, most of the cloud and the world's 500 most powerful supercomputers run Linux. Learning Linux means learning the common language of all these machines.

A server is always described by three questions: what service it provides, in what form it runs, and for whom. In the Dojo, you lay the foundations in the terminal, then you set these servers up one by one, on your own machine.

Set up your first server

From the basics in the terminal all the way to your own mail server — free to start, no installation.

Enter the Dojo →