Sysadmin roadmap

Revision as of 12:18, 30 October 2025 by Akshay (talk | contribs) (add deployment challenges)

If you would like to be a system administrator, or someone who self-hosts a lot of software, you need to build sysadmin skills. Here is a suggested learning roadmap for your growth.

Hosting

Host an HTML website

Deploy a website made with pure HTML. You could use Codeberg Pages.

Host a static website generated with a static site generator

Deploy a website generated with a static site generator like Hugo. Try to automate the deployments using a CI/CD provider.

Host a website on your computer at your home

Install and configure packages on your computer so that you're able to visit a site on your computer.

Make your home-hosted website accessible from the internet

You might need to use port forwarding, dynamic DNS, etc. You might sometimes have to contact your ISP to get a static IP or take you out of NAT. As a last resort you might have to piggyback on a cloud server.

Host a website on a VPS

Get a VPS, and host your own website on it.

Deployment

Deploy a PHP application

Deploy a simple php application that doesn't need a database. Something like LibreQR. You may have to figure out how to use PHP-FPM and proxy requests to it.

Deploy a more complicated PHP application

Deploy a slightly more complicated PHP application that requires database. Maybe WordPress, or MediaWiki. You might have to figure out which database to use, how to create a database & user and connect the application to it.

Deploy a Python/NodeJS/Ruby application

Deploy a web application written in Python/NodeJS/Ruby. You might have to figure out how to reverse proxy to the application.

Deploy an Docker based application

You could choose an application that you've already installed without docker (like WordPress) but this time deploy it using docker. You might have to learn about docker compose too.