ben atkins

Projects

A 5-tier DevOps learning path I built hands-on. Each tier builds on the last — from running a single container to a fully automated cloud pipeline.

The core concept: I can destroy and recreate my entire environment in minutes.

1

Containerization

Docker

Jellyfin media server running on a dedicated Asus machine via Docker Compose.

Docker Docker Compose Volume Mounts Networking
2

Infrastructure as Code

Terraform + AWS

Terraform config that provisions a free-tier EC2 instance running Apache, with full create/destroy/rebuild cycle.

Terraform AWS EC2 Security Groups IaC State Management
3

CI/CD

GitHub Actions

Flask API with automated GitHub Actions pipeline — runs tests on every push, builds and verifies Docker image.

GitHub Actions CI/CD Pipelines pytest Automated Testing
4

Configuration Management

Ansible

Ansible playbook that installs nginx, deploys a custom homepage, and verifies the server responds — all idempotently.

Ansible Playbooks Inventory Management Idempotent Config
5

Full Pipeline

All Combined

One deploy script that provisions EC2 with Terraform, then uses Ansible to SSH in, install Docker, build a Flask app, and run it — with GitHub Actions CI on every push.

Terraform Ansible Docker GitHub Actions End-to-End Automation

Side Projects

API-Driven Data Pipeline

Python

Python CLI tool that queries the RAWG REST API to catalog a personal gaming library — 750+ titles across 20 platforms spanning 1983–2025. Tracks ownership and play history, auto-generates a dark-themed 23-tab Excel workbook with Metacritic color coding, duplicate protection, and search.

PythonREST APIopenpyxlCSVCLIData Management

Steam Deck Linux Customization

Arch Linux

Two years of bending a Steam Deck to my will — emulation, Lutris, Bottles, Decky plugins, and whatever else I could get running on Arch Linux. Where I learned to refuse limitations.

Linux (Arch/SteamOS)Wine / ProtonLutrisBottlesEmulationDecky Loader

Jellyfin Media Server

Self-Hosted

Self-hosted media server running on dedicated hardware via Docker. Full library management with movies, shows, and concerts — my own personal streaming service.

DockerLinuxNetworkingMedia Management

This Website

Astro

Built from scratch with Astro and Tailwind CSS. No templates, no themes — just code.

AstroTailwind CSSJavaScriptVercel

Tools & Technologies

Linux Docker Terraform AWS GitHub Actions Ansible Python Flask pytest Git WSL