Edwin J. Rice, author and senior DevOps engineer behind phpwebthings.org

About Edwin Rice

I’m Edwin Rice, a senior DevOps engineer who has been running self-hosted services from a closet rack since around 2010. This site, phpwebthings.org, is where I write about the open-source web applications I actually use, the ones I’ve broken in production, and the ones I’d recommend to a friend in the same week I’d warn them off the alternatives.

I live in Sunrise, Florida, with my wife and two teenage kids who don’t appear on this site by name. My day job is at a thirty-person B2B SaaS company. My evenings (and a lot of weekend mornings, if I’m honest) belong to a Proxmox cluster, a TrueNAS box, and the slow work of moving my family off Google services one application at a time.

Why this site exists

Most reviews of self-hosted software are written by people who installed it once on a Raspberry Pi, ran a tutorial, took a screenshot, and shipped a 1,200-word “ultimate guide”. I find that frustrating. NextCloud on a Pi 4 with a USB drive is not the same animal as NextCloud Hub 8 on a 4-vCPU VM with object storage in the back. Both are valid setups. They behave nothing alike.

What I write here tries to bridge that gap. Real configs (the actual docker-compose.yml file with the comments still in it), real version numbers, real benchmarks on the hardware most people will actually use, and real opinions about what works in a small homelab versus a small business versus a four-person family.

Topics I cover

  • Self-hosted app reviews (NextCloud, Vaultwarden, Immich, Jellyfin, Mailcow, Mailtrain, Plausible, Umami, Listmonk, Gitea, Forgejo, n8n, BookStack, Wiki.js, Outline, Penpot)
  • Stack write-ups for combining several of the above behind Traefik or Caddy
  • Homelab hardware (mini PCs are eating Synology’s lunch and I’ll keep telling you why)
  • Backups (the part most tutorials skip, where the real difference between hobbyist and professional shows up)
  • Security (the boring foundation: SSH keys, fail2ban, Authelia, immutable infra, mTLS where it matters)
  • The honest TCO of self-hosting versus the SaaS subscription you’d otherwise pay

Background

B.S. Computer Science, Florida Atlantic University, 1999. LFCE certification renewed in 2018. I have run infrastructure for an e-commerce shop, a regional accounting firm, and (currently) a logistics SaaS where my title is “Senior DevOps Engineer” and my actual job is mostly “the person who notices the Postgres replication is lagging before anyone else does”. The skills overlap with self-hosting more than you’d think.

About this domain

The phpwebthings.org domain has a history. From roughly 2003 to 2008 it was the home of an open-source PHP CMS framework called phpWebThings, written by a small team and released under GPL. The project was credible enough to get an LWN.net writeup at the time, and ran for several years before development quietly tapered off (a fate that has befallen many small open-source projects).

I picked the domain up in 2026 specifically because of that history. There’s a small /legacy/ section on this site preserving a couple of pages from the original project, restored from the Wayback Machine. I’m not the original author and I’m not pretending to revive the codebase. I just think it would be a small kind of cultural vandalism to wipe the past completely. The current site is editorial: my reviews and opinions on self-hosted open-source software in 2026 and beyond.

How I work

Every piece of software I review is something I’ve installed, configured, and run for at least a week (usually much longer) on hardware I own. I cite specific versions and the date I tested them. When I link to a vendor through an affiliate program, I disclose it both at the top and bottom of the article. I refuse affiliate relationships with services I don’t personally use. See editorial standards for the longer version.

Get in touch

The contact page has the email address and a short note on what I do and don’t reply to. I read everything. I answer maybe one in three. The honest reason is that I have a day job and two kids and a Mailcow instance that occasionally needs my attention.

Scroll to Top