Server
Ubuntu Server is the most widely used Linux distribution in public clouds and private deployments worldwide. Major cloud platforms such as AWS, Azure, and GCP all offer Ubuntu as a default or recommended system image. Whether you’re building a personal website, a home lab, or an enterprise production environment, you’ll find a suitable deployment path here.
Choose the best starting path based on your use case:
I Want to Build a Web Service
Personal blogs, company websites, API backends, or any internet-facing web applications. This is the most common server use case.
Recommended path: First set up SSH remote access, then install Nginx as a reverse proxy, and finally use Docker Compose to manage application containers. This is currently the most mainstream and maintainable deployment approach.
- Nginx / Apache — Web server installation, virtual hosts, reverse proxy, and HTTPS certificate configuration
- Docker Compose Deployment — Orchestrate web applications, databases, and cache services with Compose
- SSH Remote Management — Key-based login, disabling password authentication, jump hosts, and port forwarding
- Database Services — Installation and basic tuning for MySQL/MariaDB, PostgreSQL, and Redis
I Want to Self-Host / Build a Homelab
Run various self-hosted services at home or on a local network: NAS storage, media libraries, note-taking systems, password managers, smart home gateways, and more.
The core of a Homelab is Docker Compose + a reverse proxy. Start by getting a simple service running (e.g., an Nginx static page), familiarize yourself with the workflow, and then gradually add more containerized applications.
- Docker Compose Deployment — Multi-service orchestration with Compose, volume persistence, and auto-restart policies
- VPN Networking — WireGuard tunnels, Tailscale zero-config networking, secure remote access to internal services
- Samba / NFS File Sharing — Cross-platform LAN file sharing, NAS mounting, and permission configuration
- DNS & DHCP — Pi-hole ad filtering, local DNS resolution, and DHCP server management
- Virtualization Platforms — KVM/QEMU, Proxmox, LXD containerized multi-OS environments
I Want to Deploy a Production Environment
Enterprise or team-oriented high availability, scalable, and automated deployment solutions. Stability, security, and maintainability are key considerations.
For production environments, make sure to establish backup strategies, monitoring and alerting, and security hardening. It’s recommended to first read SSH Remote Management to complete basic security configuration before deploying services.
- High Availability & Load Balancing — HAProxy, Keepalived, database replication, and failover solutions
- Cloud-init Auto Configuration — Automated cloud instance first-boot setup: user creation, SSH keys, package installation
- Autoinstall Unattended Installation — Automated installation and answer file authoring for batch Ubuntu Server deployments
- Kubernetes (K8s) — MicroK8s/K3s cluster deployment, Pod orchestration, Helm package management, and service exposure
- Database Services — Production-grade database deployment, backup/recovery strategies, and performance tuning
Fundamentals
New to Ubuntu Server? Start with these basics:
- Server vs Desktop Edition — Core differences between the two editions in kernel, package management, GUI, resource usage, and more
- Server Installation Guide — Ubuntu Server installation process, disk partitioning schemes, and minimal installation options
Quick Reference: All Articles
| Article | Summary |
|---|---|
| Server vs Desktop Edition | Core differences in kernel, package management, GUI, and more |
| Server Installation Guide | Installation process, partitioning schemes, minimal install, and initial configuration |
| SSH Remote Management | SSH key authentication, port changes, jump hosts, and multi-host management |
| Nginx / Apache | Web server setup, reverse proxy, Let’s Encrypt certificates |
| Docker Compose Deployment | Container orchestration, multi-service deployment, volumes, and custom networks |
| Database Services | MySQL, PostgreSQL, Redis installation and basic administration |
| Samba / NFS File Sharing | Cross-platform file sharing, NFS mount configuration, and access control |
| VPN Networking | WireGuard tunnel setup, Tailscale zero-config remote networking |
| DNS & DHCP | Local DNS service, Pi-hole ad filtering, DHCP management |
| Virtualization Platforms | KVM/QEMU VMs, LXD system containers, Proxmox management |
| High Availability & Load Balancing | HAProxy load balancing, Keepalived VIP, primary-replica architecture |
| Cloud-init | Automated cloud instance initialization, user-data, and metadata templates |
| Autoinstall | Unattended batch installation, YAML answer file authoring and debugging |
| Kubernetes | MicroK8s/K3s cluster deployment, Helm package management, Ingress configuration |
This guide is written based on Ubuntu 26.04 LTS Server edition. Most content also applies to services running on the Desktop edition, but for production environments it’s recommended to use the Server edition for a leaner system and longer security update support cycle.