I run my own email, chat and file servers. I can set up yours.
Freelance systems engineer in Panama. Linux servers, networking, automation, and websites for small teams, set up with backups and written notes.
What runs on my servers
This site is served from ARM servers on Oracle Cloud that I set up and maintain. The same machines run:
Platform
Everything below runs as Docker Compose stacks on ARM servers on Oracle Cloud, with Ubuntu as the base OS.
- Docker
- Ubuntu
- Oracle Cloud
A full mail server with spam and virus filtering, webmail, and automatic setup for phone and desktop clients.
- mailcow
- Postfix
- Dovecot
Chat and video calls
A Matrix homeserver with single sign-on, the Element apps, and group video calls.
- Matrix
- Element
- LiveKit
Files and photos
File sync with calls and shared documents, plus a private photo library with search.
- Nextcloud
- Immich
Automation
Workflows that move data between forms, spreadsheets, databases, and WhatsApp messages.
- n8n
- Node-RED
Databases
Shared database servers for the apps above, each with its own users and backups.
- PostgreSQL
- MariaDB
- Redis
Edge and access
TLS, routing, and a private network for admin access. Secrets stay in a dedicated secrets manager.
- Traefik
- OpenResty
- Cloudflare
- Let's Encrypt
- Tailscale
Backups go to S3-compatible storage through a small Python tool I wrote, and the whole setup is copied to a second server. See services
Background
I’m self-taught. Most of what I know about Linux, networking, and containers I learned by running it myself and fixing it when it broke, which is still how I learn anything new.
The server behind this page also runs my email, a Matrix chat server with video calls, file sync, a photo library, and the automations that connect them. I’m the only admin, so every upgrade, certificate renewal, and restore lands on my desk first. That habit carries over to client work.
How I work
I pick the smallest setup that does the job and write down how it fits together. Backups run from day one, credentials live in a secrets manager instead of a text file, and you keep the admin access. If you hire someone else later, they should be able to pick it up from the notes.
I also use AI coding tools daily. They speed up the typing; reading the code and owning the result is still my job.
“Adaptability is about the powerful difference between adapting to cope and adapting to win.” Max McKeown
Latest writing
- Living with Hermes Agent on a small ARM server
Running Nous Research's Hermes Agent on the same server it helps me maintain, and where I still keep a hand on the wheel.
- Skills I give coding agents so their pages don't look generated
Taste Skill, Impeccable, anti-slop, a humanizer, and a few design references. What each one fixes and how I combine them.
- Three tools that give coding agents better input
Context7 for current library docs, MarkItDown for turning documents into Markdown, and agent-browser for letting an agent look at a real page.
Have a server or a site in mind?
Tell me what you run today and what you want to change. I read and answer every email myself.