Building spereira.xyz

what I did, what worked, and what I learned
The idea behind spereira.xyz started as a personal project. I wanted a space not only to share my homelab setups but also to explore topics I'm passionate about—like futurism, automation, geopolitics, agrotech, home automation, economics, science, gaming, and sci-fi. This site connects these interests with my professional and personal experiences, sharing insights and discoveries that might help or be a source of ideas for others.
Why build my own site?
Here are the main reasons:
- Share practical and technical solutions I've discovered.
- Document my experiments and setups with Proxmox in my homelab.
- Explore and share ideas about automation, both technological and practical for everyday life.
- Have the freedom to write about whatever inspires me, independently.
- Had a spare domain laying around my lad: spereira.xyz!
Technology choices
I chose Ghost CMS because it's simple, writing-focused, clean, and has built-in support for memberships and newsletters.
I'm hosting the site on my Proxmox cluster using containers with ZFS storage for reliability and replications with HA from Proxmox.
I use Cloudflare for managing the spereira.xyz domain, providing enhanced security and straightforward DNS management. Also tunneling.
Setup process
- Installed Ghost CMS on LXC with docker.
- Simplified SSL and DNS management via Cloudflare.
- Reliable storage and automated backups using ZFS and PBS.
- Several configurations across cloud platforms: Zapier, Buffer, Bravo.
Email and newsletter management
Initially, I tried using Brevo (Sendinblue) for all emails. Worked well for transactional emails (member notifications, password resets, invitations). Ghost doesn't support sending newsletters via SMTP—it requires an API (usually Mailgun).
Instead of adding Mailgun, I stayed with Brevo and automated subscriber management using Zapier. Now, when someone subscribes or unsubscribes, their information automatically updates in my Brevo contact list. I write and send newsletters directly through Brevo, providing full control and detailed reporting.
One key detail was correctly configuring Ghost's support email to avoid issues with transactional emails.
Challenges I faced
- Initially using the main domain email without proper authentication—Brevo rejected emails until I set up SPF and DKIM on a dedicated subdomain.
- Attempting to send newsletters via SMTP (not supported by Ghost, and rightly so).
- Overlooking the support email configuration initially, causing confusion.
Next steps
- Continue using Brevo for newsletters, but will probably also give another try at Mailgun.
- Set up automatic social media sharing of new articles using Zapier and or Buffer.
- Keep sharing interesting setups from my homelab, automation experiments, and personal projects to inspire others.
- start posting about other stuff.