2020-01-17-documenting-server.md (2552B) - raw

      1 <!-- title: Documenting my server -->
      2 <!-- slug: documenting-server -->
      3 <!-- categories: Self-hosting -->
      4 <!-- date: 2020-01-17T00:00:00Z -->
      5 <!-- lastmod: 2020-03-01T01:00:00Z -->
      7 Not long ago I realized that I could get $50 of credit on Digital Ocean with my
      8 GitHub Student account, so I decided to try it. I transferred my website there,
      9 and with time I started adding services. It is currently running the following
     10 services:
     12 - My webpage ([oscarbenedito.com][com]).
     13 - Redirections from [www.oscarbenedito.com][wcom], [obenedito.org][org] and
     14   [www.obenedito.org][worg] to [oscarbenedito.com][com].
     15 - A [Gotify][g] server through which I am able to send notifications to my
     16   phone.
     17 - A static page showing traffic on my website thanks to [GoAccess][ga] (which
     18   analyzes Apache's log files).
     19 - It runs [this script][gb] daily to back up all my git repositories and others
     20   I find interesting.
     21 - It notifies me if any new documents are uploaded to my college Moodle using
     22   [this script][mun] and a cronjob.
     23 - It notifies me every time someone logs in to the server using SSH.
     25 As time passes I am adding more and more features to my server. In the first
     26 place because it is fun to learn about different things and installing them, but
     27 also because they are useful features (indeed I have tried to run other programs
     28 which ended up not being as useful as I initially thought). I realized it is
     29 getting to the point where if something was to happen to my server (and it got
     30 erased), I would probably not remember how I set up everything, so I decided to
     31 do some documentation work[^backup].
     33 [^backup]: I know that taking snapshots of the server or making a backup every
     34   once in a while would solve that issue. However, that wasn't the only goal. I
     35   wanted to be able to rebuild my server from scratch again.
     37 After some time, I am nearly done documenting everything that is set up and I am
     38 pretty confident if I had to do it all again now, the documentation would be
     39 very useful. Besides, it is also a good way of keeping a record of everything
     40 running in the server and its configuration.
     43 [com]: <https://oscarbenedito.com>
     44 [wcom]: <https://www.oscarbenedito.com>
     45 [org]: <https://obenedito.org>
     46 [worg]: <https://www.obenedito.org>
     47 [g]: <https://gotify.net/> "Gotify"
     48 [ga]: <https://goaccess.io/> "GoAccess"
     49 [gb]: <https://git.oscarbenedito.com/git-backup/> "Git Backup — git.oscarbenedito.com"
     50 [mun]: <https://git.oscarbenedito.com/osf/file/moodle-updates-notifications.py.html> "Moodle Updates Notifications — git.oscarbenedito.com"