The current state of deploying Dockerized self-hosted GitHub Actions runners is absolutely wild (in a bad way).

Threw this container together to simplify a self-hosted GitHub Actions container deployment:

https://hub.docker.com/r/heywoodlh/github-actions-runner

Docker hub.docker.com

Surprised at how useful I've found kasmweb!

Since I use Nix inside my development container in kasm, thought I would share the config for any other kasm users wanting to use Nix inside a container.

Docker Exec Config:

{ "first_launch": { "user": "root", "cmd": "bash -c 'echo \"kasm-user ALL=(ALL) NOPASSWD: ALL\" >> /etc/sudoers'" } }

Volume mappings:

{ "/opt/kasm-volumes/ubuntu/{username}/nix": { "bind": "/nix", "mode": "rw", "uid": 1000, "gid": 1000, "required": true, "skip_check": false }, "/opt/kasm-volumes/ubuntu/{username}/etc/profile.d": { "bind": "/etc/profile.d", "mode": "rw", "uid": 1000, "gid": 1000, "required": true, "skip_check": false } }

I did the /etc/profile.d mapping after I installed Nix in the container and I copied all the original /etc/profile.d content to the new folder on the host.

I also have Kasm's persistence enabled.

Spencer Heywood shared 5 days ago

Built an attic container so I could run a Nix binary cache in Kubernetes: https://hub.docker.com/r/heywoodlh/attic

Will throw together a how-to blog post soon.

Docker hub.docker.com
Spencer Heywood shared 7 days ago

Really enjoyed this post: https://dataswamp.org/~solene/2024-04-20-workstation-going-stateless.html

A couple of things that I started working on immediately following:

  1. Re-set up Ventoy on a large USB, and set up images for both x86_64 and ARM64
  2. Set up kasmweb in my homelab
  3. Secured kasmweb behind Cloudflare Zero Trust and auth0

These components would more easily enable me to be able to quickly access my homelab resources in a secure fashion and on a machine that has never been configured.

Updated my 1Password to password-store backup script to backup my entire 1Password presence in just 32 seconds (it was around 30 minutes before):

❯ time op-backup ... ________________________________________________________ Executed in 32.60 secs fish external usr time 15.89 secs 101.00 micros 15.89 secs sys time 11.98 secs 846.00 micros 11.98 secs

Updated commit: https://github.com/heywoodlh/1password-pass-backup/commit/c938124eff5dddd3aad226a5a5a6ae65441211b7

I feel like a git wizard now that I'm able to resolve conflicts with git mergetool :D

If you're managing your Firefox profile with Home-Manager and you want to set Kagi as your default search engine, here's a snippet:

programs.firefox.profiles.home-manager = { search = { engines = { "kagi" = { urls = [{ template = "https://kagi.com/search?q={searchTerms}"; }]; definedAliases = [ "@k" ]; iconUpdateURL = "https://kagi.com/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; # every day }; }; default = "kagi"; privateDefault = "kagi"; }; };

I'm using GitHub Pages/Jekyll (via Jekyll Now) for my blog. Have been spending the last hour trying to figure out the best solution for generating a tag page. This solution was simple and easy to understand -- but took a while for me to find:

https://stackoverflow.com/a/21002505

Built a Honeypot deployment that will send me push notifications via NTFY in Kubernetes. Check it out:

nix build -o heralding.yaml "github:heywoodlh/flakes?dir=kube#heralding"

One-liner for tailing log files and doing something when a new line is added (useful when setting up a pod in Kubernetes for tailing a log file and running an action for each new line generated):

while read line; do echo "Line: $line"; done < <(tail -F /log/log_auth.csv)

The SDF Public Access UNIX System project is such a great public service. Definitely need to start using it more.

Dead simple speedtesting server with my iPerf3 Docker image:

docker run -d --name=iperf3 -p 5201:5201 docker.io/heywoodlh/iperf3 -s

And client:

docker run -it --rm --network=host docker.io/heywoodlh/iperf3 -c localhost
Docker hub.docker.com

Full-tunneled through Mullvad via Tailscale and on a T-Mobile hotspot. Not unhappy at all with these speeds:

❯ nix run nixpkgs#iperf3 -- -c Connecting to host , port 5201 [ 7] local port 64498 connected to port 5201 [ ID] Interval Transfer Bitrate [ 7] 0.00-1.00 sec 3.50 MBytes 29.3 Mbits/sec [ 7] 1.00-2.00 sec 3.25 MBytes 27.2 Mbits/sec [ 7] 2.00-3.00 sec 1.12 MBytes 9.44 Mbits/sec [ 7] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec [ 7] 4.00-5.00 sec 256 KBytes 2.10 Mbits/sec [ 7] 5.00-6.00 sec 896 KBytes 7.33 Mbits/sec [ 7] 6.00-7.00 sec 1.50 MBytes 12.6 Mbits/sec [ 7] 7.00-8.00 sec 1.50 MBytes 12.6 Mbits/sec [ 7] 8.00-9.00 sec 1.25 MBytes 10.5 Mbits/sec [ 7] 9.00-10.00 sec 1.38 MBytes 11.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 7] 0.00-10.00 sec 14.6 MBytes 12.3 Mbits/sec sender [ 7] 0.00-10.18 sec 14.4 MBytes 11.9 Mbits/sec receiver

For anyone wanting Nord-themed Microblogpub, this is what I have in my data/_theme.scss:

// override vars for theming here $primary-color: #e8e6e3; $secondary-color: #81a1c1; $highlight-color: #dae1ea; $background: #252a33; $light-background: #5e81ac; $text-color: #eceff4; $form-text-color: #5e81ac; $muted-color: #d8dee9; $primary-button-text-color: #5e81ac; $code-highlight-background: #5e81ac;

For anyone curious, this site's source code is here: https://github.com/heywoodlh/social.heywoodlh.io.

This is running on an Ubuntu 22.04 VPS via Docker Compose. :)

Decided to switch to a self-hosted microblog.pub over Mastodon. Mastodon is great, but totally overkill for me as the sole user.

Homepage microblogpub's microblog