benleikin.me

Linux Systems Administrator - HRL Laboratories (IBM Research) Maker

I keep hardened Linux fleets and HPC clusters running in an environment where every host is audited, every binary is allowlisted, and downtime is expensive.

RHEL and Oracle Linux under STIG, SELinux enforcing, Active Directory identity, Ansible everywhere. At home the same instincts point at Raspberry Pis, sensors, and a garden that waters itself.

Portrait of Ben Leikin

What I run

Day job at HRL Laboratories, now IBM Research. Regulated environment, so specifics stay general.

Things I build

Built because I wanted them to exist. Source on GitHub, mirrored from my own GitLab.

Raspberry Pi Flask KiCad

openSeedling

A seedling controller on a Pi Zero 2 W. PWM grow light with daily light integral tracking against a target, Camera Module 3 timelapse with an alignment viewfinder, soil moisture probes, and non-contact reservoir sensing that refuses to run the pump dry and pings me when it does. Health reports are generated from the sensor history.

Currently laying out its first custom full-size Pi HAT in KiCad, USB-C powered, assembled at the fab.

Raspberry Pi ESP32 MicroPython

openGrow

Monitoring and automatic watering for two raised strawberry beds. Wireless ESP32 sensor nodes report moisture and climate to a Flask dashboard backed by SQLite, and the irrigation decides for itself when the beds need a drink.

Formerly openGardener. Same home server, same nginx, one more thing to keep alive.

Embedded control

AutonomousBoat

An autonomous surface vessel project: navigation, control, and telemetry on small hardware. Developed on my self-hosted GitLab and mirrored out to GitHub.

HomeLab

Everything Else

A Proxmox cluster behind one nginx reverse proxy and a single public IP, fronting about fifteen services: GitLab with runners, NetBox, Proxmox Backup Server, a GPS-disciplined NTP server, and uptime monitoring. Everything runs the same controls I use at work, scaled down: per-vhost CSP and HSTS, Cloudflare origin certs with automated renewal, and nightly config sync to Git so nothing lives only in my head.

Live public

Running right now

  • ntp.pilg0re.net

    A GPS-disciplined stratum 1 NTP server on a Raspberry Pi, with a live status dashboard for chrony: satellite lock, offset, jitter, and drift over time.

  • web.pilg0re.net

    Service Monitoring for services on my LAN.

Some services are intentially down.

One public IP

How it hangs together

:443 nginx gitlab ntp netbox grow status

Every service above terminates on the same nginx box. Adding one is a vhost, a DNS record, and a cert.

Toolbox

Things I use often enough to have opinions about.

Platforms
RHEL Oracle Linux Ubuntu VMware vSphere Podman Docker k3s
Security and compliance
DISA STIG SELinux fapolicyd Tenable Duo MFA USG
Identity
Active Directory SSSD Centrify Kerberos autofs
Automation and lifecycle
Ansible Foreman Katello Satellite Landscape PXE/Kickstart GitLab CI
Observability
Elastic Fleet Grafana Tempo Promtail Nagios XI
Code
Bash Python Flask MicroPython SQL nginx systemd

Get in touch

Email is best. I read it more reliably than anything with a notification badge.

move Enter run Esc close