← Mission Control

Server Room

This portfolio runs on infrastructure I own.

A small production setup on a VPS: static Astro build, Nginx, HTTPS, firewall, Fail2ban and manual deployment while the project is still young.

Ubuntu VPS

IONOS VPS running Ubuntu 24.04 LTS with a non-root deploy user.

Nginx

Serves the static Astro build and handles domain routing.

Certbot HTTPS

Let’s Encrypt certificates with automatic renewal.

UFW + Fail2ban

Basic hardening for SSH, HTTP and HTTPS exposure.

Deployment flow

Manual first, automation later.

Today the site is built locally and synced to the VPS with rsync. GitHub Actions can come later, when manual deployment becomes the bottleneck.

  1. Build Astro locally
  2. Sync dist/ to VPS
  3. Serve with Nginx
  4. Iterate before automating

Coming next

A visual infrastructure dashboard.

This room will evolve into a server dashboard with an architecture diagram, deployment timeline, security notes and a small terminal-style status panel.