To register a new account on this wiki, contact us

Sysadmin roadmap: Difference between revisions

From FSCI Wiki
Jump to navigation Jump to search
add deployment challenges
backup tasks
 
Line 31: Line 31:
=== Deploy an Docker based application ===
=== Deploy an Docker based application ===
You could choose an application that you've already installed without docker (like [https://hub.docker.com/_/wordpress WordPress]) but this time deploy it using docker. You might have to learn about docker compose too.
You could choose an application that you've already installed without docker (like [https://hub.docker.com/_/wordpress 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

Latest revision as of 12:32, 30 October 2025

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