Introduction
Welcome! This is a collection of notes documenting server infrastructure setup and configuration by Ilham Aulia Majid.
Whether you’re setting up your first VPS or exploring self-hosting, these guides walk you through each step with explanations of what you’re doing and why.
What This Covers
| Topic | What You’ll Learn |
|---|---|
| VPS Basics | Securing a fresh server, SSH keys, firewall setup |
| Containerization | Running applications in isolated Docker containers |
| VPN | Creating a private network between your devices with Tailscale |
| Web Server | Serving websites and reverse proxying with Caddy |
| Services | Deploying n8n, Beszel, Garage, and more |
Key Concepts
Before diving in, here are some terms you’ll see throughout these guides:
- VPS (Virtual Private Server): A remote computer you rent from a cloud provider (like DigitalOcean, Linode, or Vultr) that runs 24/7.
- SSH (Secure Shell): A protocol for securely connecting to and controlling remote servers from your terminal.
- Domain Name: A human-readable address like
example.comthat points to your server’s IP address. You buy these from domain registrars. - DNS (Domain Name System): The system that translates domain names into IP addresses (like a phonebook for the internet).
- Reverse Proxy: A server that sits between users and your applications. It receives requests from users and forwards them to the right application — like a receptionist directing visitors.
- Container: A lightweight, isolated environment that packages an application with everything it needs to run. Think of it as a mini virtual machine that shares the host’s operating system.
- sudo: Short for “superuser do” — a command that lets you run commands with administrator privileges.
- systemd: The system that manages services on most modern Linux distributions.
systemctlis the command you use to interact with it.
How to Use
The documentation is organized in a logical progression — start with VPS Basics for a secure foundation, then proceed through the chapters based on your needs. Each guide includes prerequisites, step-by-step instructions, and common commands for reference.
About This Site
This documentation is rendered as a browsable website using mdBook — a tool that converts Markdown files into a searchable, navigable book format. It’s like reading a book, but with hyperlinks, search, and code blocks.