Whoah. is this web site. A place to document my various projects. I do this mostly just for fun and education.

I started with the knowledge of installing apache, exposing port 80 and some very basic HTML skills.

Now I have a modular set of web apps served at different subdomains and all encrypted with SSL.

To further develop said HTML skills and additionally learn CSS, I made my way through HTML & CSS by Jon Duckett.

Initially I used a small amount of javascript for the sole purpose of duplicating a common header across multiple pages. I since learned that the same functionality is super easy with PHP so no longer uses any javascript.

Containerisation of this site and various subdomains has been implemented with docker and docker-compose. I wish I discovered Docker sooner! It makes backing-up very straightforward. It also allows me to tear it all down then pull it all back up on a different machine in a flash. This part is made even easier thanks to ansible automation and the playbooks/roles I made for deployment, configuration and maintenance of these containers (see project clewsy_ansible).

The docker-compose.yml file pulls the following container images:

ContainerImage Description
nginx-proxy nginxproxy/nginx-proxy Used to reverse-proxy multiple domains and subdomains.
acme-companion nginxproxy/acme-companion Used to implement certificates and encryption for sites served by nginx-proxy.
Nextcloud nextcloud Web app for file storage and a bunch of other features. My method of replacing google drive.
MariaDB linuxserver/mariadb Database linked to the Nextcloud container.
Nextcloud-Cronjob rcdailey/nextcloud-cronjob Used for scheduled execution of Nextcloud's cron.php script. As an aside, I contributed to this project with a minor pull request that reduced the container image size by about 75%.
ncbu clewsy/ncbu I created this container image to simplify automated backups of my nextcloud data and database.
Collabora collabora/code Implemented to enable web-based editing of documents/spreadsheets within the Nextcloud instance.
Navidrome deluan/navidrome Music library and streaming app. Stream via web interface or android app (such as UltraSonic).
Calibre-Web linuxserver/calibre-web Web-based ebook library.
Vaultwarden vaultwarden/server Password management system (formerly bitwardenrs/server).
NGINX nginx For serving up the html/css/php that forms this (and other) sites.
PHP php Configured for access by NGINX containers to enable serving php scripts.
Watchtower containrrr/watchtower Periodically checks for updates to all container images. Downloads and runs when new images are discovered.

The logo for also intended to be a learning exercise - this time in vector graphics editing - specifically Inkscape.

I've been doodling the Penrose triangle since I discovered it in primary school, so it served as a geometric starting point. I exploded it into the three identical but rotated parts and rearranged them to differ from the original. I felt the result was a bit too angular/aggressive, so I put the whole thing into a circle. I clearly lack the designer gene but it serves the purpose.

I don't know what I'm doing.