4
7 Comments

Self-hosted newsletter without breaking the bank ($0-7/mo)

Note: this isn’t the technical guide for the stack, if you want to see the nitty-gritty technical aspect head to the dev.to guide I’ve created 🚀

A few months ago I decided to pull the trigger and start a newsletter. I’ve been reading trends.vc for a while and found it to be an amazing information source for general business-related trends. The problem was, that I couldn’t find a good resource for developer trends. I knew about daily.dev and a few others, but none of them gave a value-packed drill-down of one specific developer trend each time, every few weeks.

So I decided to create one. If by any chance the newsletter sounds interesting, you should probably check it out here: unzip.dev (oh, and it’s totally free 💝)

"Unzip.dev screenshot"

Back to our topic, creating the newsletter.

To run unzip.dev I wanted to create a sustainable way to produce my newsletter and not worry about consuming my life with deployment IT. And, all this had to happen fast. I wanted to get something out the door quickly to check the viability of my idea.

Most known newsletter providers did not appeal to me pricing-wise. They can cost over > $100s of dollars a month for a relatively modest amount of subscribers. I needed something that would cost $5-30 a month, as I just quit my job to start unzip and a few other services.

The following setup includes:
✅ An Open-source newsletter system
✅ Zero-downtime, CI & CDN for the newsletter website
✅ $7/mo (can be $0 if you can bear a shared cpu)
✅ Mail link tracking for analytics
✅ Open-source website analytics
✅ Automatic welcome email for new subscribers

To achieve all this goodness, I converged on the following stack:

  • ✉️ Newsletter: Ghost (it’s open-source) – I’m using a self-hosted approach as the pricing felt too steep for me at the moment and I’m technical, so I can self-host it.
  • 🚀 Hosting: Render.com for hosting so I get zero-downtime and automatic GitHub deployments, you can even pay $0 if you use shared CPU. I decided to opt for the $7 a month so I’d get a better performance as this is used for my main newsletter system.
  • CDN: Cloudflare, because most of the newsletter site is a static website, caching it via a CDN is great, plus it can help us protect against spambots that try to subscribe (as Ghost doesn’t have captcha at this time).
  • 📡 Email provider: Mailgun is the most common tool to use in conjunction with Ghost. It allows us to send bulk emails and to track our open and click rates.
  • 📊 Analytics: Umami is an open-source analytics script, like Google-analytics but without all the crazy features and fewer GDPR problems at the moment – I just need something basic.
  • 👋 Welcome email: Integromat fixes what Ghost doesn’t provide by default, in my case I wanted to be able to send a welcome email for new subscribers. It was super simple to setup.

If you want to check out the nitty-gritty implementation, head on over to dev.to, where I wrote a more in-depth guide on how to tie all of those systems together so you can run your own newsletter.

If you just want to start out and don’t want to waste time on the technical aspect or you don’t feel comfortable configuring it, you might want to check out:

  • Substack: Targeting potential paid newsletters that don’t need a fancy custom theme, everything just works out of the box.
  • Tinyletter: Mailchimp’s substack competitor, spotless and simple, free to use.
  • Revue: Twitter’s answer to newsletters, it also connects to your twitter profile which is neat.
  • Buttondown: a very cool markdown-centric newsletter product, created by a fellow indiehacker! @buttondown, product page.

I’d be happy to retweet any newsletter you create using this stack, so don’t hesitate to mention me and I’ll publish it along :)
If you have any other question, please comment or contact me via Twitter @agammore.

posted to Icon for group Newsletter Crew
Newsletter Crew
on March 3, 2022
  1. 2

    Really well documented post. I'll be sure to try out this stack in the future.

    1. 1

      Thank you! A small thing to note, use MySQL instead of SQLite as Ghost are deprecating SQLite from production usage.

      1. 2

        Ah, thanks for the heads up!

  2. 2

    Sometimes I do not understand why there is no response... especially when it is a solid, elaborate and well-documented post. Like this one 👆🏻

    Love your reasoning and decision-making. Think that indeed there is room for this, it's a good niche. Trust that the dev.to community is helping the growth of the readership.

    Only path you also could have considered, especially with the topic is Hashnode, which has a built newsletter service as well.

    1. 1

      Yeah, I just found out about it after already committing to my stack. They look great, but I still like that I control all of my deployment (with the ups and downs). But, I'll look about migrating if they tick my boxes (custom landing page, integromat and reasonable future pricing).

      P.S. Thanks for the reply, I really appreciate it!

      1. 2

        More than welcome!

        Forgot to mention: Your main/signup page is 🔥🔥🔥🔥🔥!!!

        1. 1

          Thank you! <3 I've put too much work into it :)

Trending on Indie Hackers
I've been building for months and made $0. Here's the honest psychological reason — and it's not what I expected. User Avatar 176 comments 7 years in agency, 200+ B2B campaigns, now building Outbound Glow User Avatar 56 comments This system tells you what’s working in your startup — every week User Avatar 52 comments 11 Weeks Ago I Had 0 Users. Now VIDI Has Reviewed $10M+ in Contracts - and I’m Opening a Small SAFE Round User Avatar 46 comments The "Book a Demo" Button Was Killing My Pipeline. Here's What I Replaced It With. User Avatar 27 comments My AI bill was bleeding me dry, so I built a "Smart Meter" for LLMs User Avatar 18 comments