alexkarle.com

Source for alexkarle.com
git clone git://git.alexkarle.com/alexkarle.com.git
Log | Files | Refs | README | LICENSE

self-hosted.7 (2365B) [raw]


      1 .Dd July 19, 2020
      2 .Dt SELF-HOSTED 7
      3 .Os
      4 .Sh NAME
      5 .Nm self-hosted
      6 .Nd a tale of migrating to my own server
      7 .Sh DESCRIPTION
      8 If you look at the first post
      9 .Xr ( a-new-hope 7 )
     10 on this site, you'll see that this site started as a series of static HTML
     11 files that I was, by hand, uploading to Fastmail via their "files" GUI.
     12 .Pp
     13 Being a total nerd for automation, I was always on the lookout for an excuse to
     14 migrate to my own server, where I could (over)engineer a pipeline to build my
     15 static content and deploy it without ever leaving the terminal.
     16 .Pp
     17 That excuse presented itself in the form of needing to get a VPS to stand up my
     18 hobby-project, `euchre.live`.
     19 If I was going to pay for a tiny VM, it was a no-brainer to move my personal
     20 site to it too.
     21 .Pp
     22 This turned out to be a great learning experience
     23 \(em
     24 getting hands on experience
     25 with reverse proxies, DNS, and a variety of operating systems and webservers
     26 (first hosted on Alpine Linux and migrated to OpenBSD).
     27 Additionally, I could self-host git repos, which has long been a nerd-goal of mine :)
     28 .Pp
     29 I plan to write a lengthier post about the joys of self-hosting in the future,
     30 but for now, I really just wanted to give a brief update on where I landed and
     31 what the current stack is.
     32 .Pp
     33 I'm currently running (in no particular order):
     34 .Pp
     35 .Bl -bullet -compact
     36 .It
     37 .Sy OS :
     38 OpenBSD
     39 .It
     40 .Sy Web server :
     41 OpenBSD's
     42 .Xr httpd 8
     43 .Bl -dash -compact
     44 .It
     45 Serves the `www.` static content
     46 .It
     47 Also serves
     48 .Lk https://git.alexkarle.com
     49 .El
     50 .It
     51 .Sy Reverse proxy :
     52 OpenBSD's
     53 .Xr relayd 8
     54 .Bl -dash -compact
     55 .It
     56 Used to send traffic between `euchre.live` (which uses a Mojolicious
     57 web server as the backend) and `alexkarle.com` based on URL
     58 .El
     59 .It
     60 .Sy `www` content :
     61 .Bl -dash -compact
     62 .It
     63 100% static content
     64 .It
     65 No metrics, ads, or tracking
     66 .It
     67 Posts and pages written in markdown
     68 .It
     69 HTML generated with a pipeline of the original `Markdown.pl` into a small
     70 templating Perl script that I home-rolled
     71 .El
     72 .It
     73 .Sy Git :
     74 .Bl -dash -compact
     75 .It
     76 Public repos served with
     77 .Xr git-daemon 1
     78 over the `git://` protocol
     79 .It
     80 Push access via the `ssh://` protocol
     81 .It
     82 static HTML of content generated via post-receive hook with
     83 .Xr stagit 1
     84 .El
     85 .El
     86 .Pp
     87 That's all for now!
     88 .Sh SEE ALSO
     89 .Bl -bullet -compact
     90 .It
     91 .Xr blog 7
     92 .It
     93 .Xr a-new-hope 7
     94 .It
     95 .Lk https://euchre.live
     96 .It
     97 .Lk https://mojolicious.org Mojolicious
     98 .El