To register a new account on this wiki, contact us
Sysadmin roadmap: Difference between revisions
stub |
backup tasks |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
=== Host a static website generated with a static site generator === | === 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. | 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 [https://code.antopie.org/miraty/libreqr/ 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 [https://wordpress.org/ WordPress], or [https://www.mediawiki.org/ 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 [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