Logos are owned by their respective brands/corporations. A quick tour on how 8192.one is set up and configured. The only expense incurred is the cost of owning the domain. Everything else, GitLab CI/CD, Cloudflare is on free tier.

An architectural overview.

architecture

Vscodium

vscodium

Vscodium is a fork of Microsoft Vscode which attempts at eliminating Micro$oft’s telemetry and phoning home.

Official website: https://vscodium.com/

Hugofly plugin for vscodium. https://marketplace.visualstudio.com/items?itemName=akmittal.hugofy

Hugo:

hugo

Hugo is a static site generator written in Go. Its self declared “The world’s fastest framework for building websites”. Hugo is quick, beautiful, flexible and plays well with GitLab.

https://gohugo.io/

Git over SSH:

~ >>> ssh -T [email protected]
The authenticity of host 'gitlab.com (35.231.145.151)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.com' (ECDSA) to the list of known hosts.
Welcome to GitLab, @8192!
~ >>>       

I prefer git over SSH because I prefer the SSH daemon handle my authentication rather than using the built in vscodium prompts for authenticating with GitLab credentials.

Official GitLab guide: https://docs.gitlab.com/ee/ssh/

Gitlab:

GitLab

I am just a GitLab>GitHub guy after the Microsoft acquisition. GitLab also supports private git repos in the free version.

Here I am using ‘GitLab pages with the hugo template’ which automatically creates a default Hugo project. https://gitlab.com/pages/hugo

All you need to do is fork the project and start the commits and GitLab will build and host.

CI/CD:

Gitlab initiates a docker image when they detect a new commit on their back end with the GitLab hugo registry image. Your GitLab pages project is cloned in this container and built with Hugo. This is an example log it generates during the build.

Running with gitlab-runner 12.1.0-rc1 (6da35412)
  on docker-auto-scale fa6cab46
Using Docker executor with image registry.gitlab.com/pages/hugo:latest ...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.gitlab.com/pages/hugo:latest ...
Using docker image sha256:b8b7b5aac3b6d6305951d1dbd5d281ca7eeee87c67ccdf79e47e7e34379341e3 for registry.gitlab.com/pages/hugo:latest ...
Running on runner-fa6cab46-project-12871442-concurrent-0 via runner-fa6cab46-srm-1563609672-cd23a4aa...
Fetching changes with git depth set to 50...
Initialized empty Git repository in /builds/8192/8192/.git/
Created fresh repository.
From https://gitlab.com/8192/8192
 * [new branch]      master     -> origin/master
Checking out 57da8727 as master...

Updating/initializing submodules recursively...
Authenticating with credentials from job payload (GitLab Registry)
$ hugo
Building sites … 
                   | EN  
+------------------+----+
  Pages            | 58  
  Paginator pages  |  2  
  Non-page files   |  0  
  Static files     | 52  
  Processed images |  0  
  Aliases          | 24  
  Sitemaps         |  1  
  Cleaned          |  0  

Total in 108 ms
Uploading artifacts...
public: found 230 matching files                   
Uploading artifacts to coordinator... ok            id=255710451 responseStatus=201 Created token=ufu35eJj
Job succeeded

Clouflare:

I use Cloudflare to get a TLS certificate and as a CDN.

DNS

My domain setup looks like Registrar-->Cloudflare DNS--->8192 GitLab

CDN

Cloudflare supports webpage caching, which helps reduce the load on GitLab pages per page request and also makes it faster for users to pull data from Cloudflare’s edge locations. Another cool feature is ‘Always Online’, this makes sure if theres any problem with GitLab at a configuration/infrastructure level your site will not go down but instead served from Cloudflare’s latest CDN cache.

TLS

cloudflare TLS 1.3 support. I use Cloudflare origin TLS certificates configured with GitLab pages. The connection looks like GitLab<--Origin-cert-->Cloudflare<--Cloudflare-Inc-cert-->Client.

GitLab provides a great official guide for this.

https://about.gitlab.com/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/

Onion Address

Cloudflare has a new feature which allows legitimate tor users to access site without throwing any CAPTCHA’s in their face. When a visitor requests Cloudflare onion-routing enabled site from tor browser, the site header will include an alt-svc which tells the tor browser that a site has an alternative address. At the time of writing, there is no GUI in the tor browser that can use this feature, one must manually view the site http headers from developer settings. Read more about it: https://new.blog.cloudflare.com/cloudflare-onion-service/