To register a new account on this wiki, contact us
Sysadmin roadmap
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.
Maintenance
Backup an app with its database
Create a backup for the wordpress instance (including uploaded images, etc).
Restore an app from backup
See if your backup can be brought back online.
Migrate an app from one server to another
Move your app from one computer to another