Launching Chrome from a Remote Ubuntu Server over SSH
Created: 2019-08-19, Modified: 2019-08-19
Run Chrome on a headless Ubuntu server and render it on a Mac with SSH X11 forwarding, XQuartz, and ssh_config tweaks. No VNC, RDP, or desktop install.
Scheduled Availability Email Alerts
Created: 2019-08-18, Modified: 2019-08-18
Write a cron-driven bash script that pings a host every minute and sends a throttled email alert on failure, using the mail command and a token file.
Port Forwarding through SSH Tunnels
Created: 2019-08-18, Modified: 2019-08-18
How to use SSH tunnels to reach a server behind a firewall using a pivot host. Covers reverse SSH tunnels with -R, local port forwarding with -L, and chaining two tunnels to proxy through an intermediary server.
Postfix Send-Only Mail Service
Created: 2019-08-15, Modified: 2019-08-15
Install and configure Postfix on Ubuntu as a local send-only SMTP server for alert emails, including hostname setup, main.cf tuning, and the mailutils tools.
Install Non-Prod OpenStack on a Physical Server
Created: 2019-08-13, Modified: 2019-08-13
Step-by-step Kolla-Ansible install of OpenStack Rocky on a single Ubuntu 18.04 server with Keystone, Nova, Neutron, Cinder LVM, Heat, and Magnum.
Project - Automated Emails
Created: 2019-08-12, Modified: 2019-08-12
A project exploring how to send emails from automated systems without hitting spam filters, covering Postfix send-only servers, cron alerts, and SPF setup.
Install OpenStack with Kolla-Ansible in a VM
Created: 2019-08-11, Modified: 2019-08-11
Build a throwaway OpenStack Rocky dev cloud inside a single Ubuntu 18.04 VM using Kolla-Ansible, Cinder LVM, and a VLAN provider network.
Google Cloud Storage: Website Hosting
Created: 2019-08-09, Modified: 2019-08-09
Host a static site on Google Cloud Storage with Search Console domain verification, bucket setup, a CNAME to c.storage.googleapis.com, and real pricing numbers.
Transfer Domain from GoDaddy to Cloudflare
Created: 2019-08-8, Modified: 2019-08-8
Transfer a domain from GoDaddy to Cloudflare for faster DNS propagation and cheaper registration. Covers unlocking, auth codes, and finalizing the move.
Google Cloud Build: Basics
Created: 2019-08-06, Modified: 2019-12-05
Intro to Google Cloud Build with real cloudbuild.yaml examples for pushing Docker images to GCR and rsyncing a static site to Cloud Storage on every Git commit.
Google Container Registry: Basics
Created: 2019-08-05, Modified: 2019-08-05
Getting started with Google Container Registry, covering why GCR beats a self-hosted Docker registry, setting up service accounts, and Docker auth via gcloud.
Local Pelican Development Environment
Created: 2019-08-04, Modified: 2019-08-04
Preview Pelican markdown changes live in a persistent Docker container with content, config, and theme mounts plus auto-regeneration on save.
Writing Blog Content for Pelican
Created: 2019-08-03, Modified: 2019-08-03
Set up a Pelican static site project with pelicanconf.py, structure posts and pages under content/, and write markdown with the metadata fields Pelican uses.
Building a Docker Pelican Image
Created: 2019-08-01, Modified: 2019-08-01
Build a reusable Docker image that runs Pelican to convert markdown into a static site, bundling a theme from GitHub and the series plugin in one layer.
Project: Blog Website
Created: 2019-07-27, Modified: 2019-08-01
Build a blog that is affordable, maintainable, and extensible using tools from the Google Cloud Platform.