DEV Community

Nevik Schmidt
Nevik Schmidt

Posted on

I Replaced €500/Month of SaaS with Self-Hosted Tools: Here's My Complete Setup

Introduction

As a developer and entrepreneur, I've always been on the lookout for ways to reduce my operational expenses without compromising on the quality of my tools. Recently, I embarked on a mission to replace my €500/month SaaS subscriptions with self-hosted alternatives. In this post, I'll share my journey, the tools I've replaced, and the self-hosted solutions I've implemented.

Replacing SaaS Tools

I started by identifying the SaaS tools I was using and their corresponding monthly costs. Here are the tools I replaced, along with their self-hosted alternatives, monthly savings, and setup complexity:

SaaS Tool Self-Hosted Alternative Monthly Savings Setup Complexity
Google Analytics Plausible €25 Low
Uptime Robot Uptime Kuma €15 Medium
GitHub Actions Gitea Actions €50 High
Typeform n8n €20 Medium
Mailchimp Mailu €50 High

Analytics: Plausible

I replaced Google Analytics with Plausible, a lightweight and open-source analytics tool. Plausible is easy to set up and provides a simple, privacy-focused alternative to Google Analytics. Here's an example of how I configured Plausible using Docker Compose:

version: '3'
services:
  plausible:
    image: plausible/analytics:latest
    ports:
      - "8080:8080"
    environment:
      - DATABASE_URL=postgres://user:password@db:5432/database
      - SECRET_KEY=your_secret_key
Enter fullscreen mode Exit fullscreen mode

I host Plausible on a Hetzner VPS, which costs €5/month. With Plausible, I've saved €25/month compared to Google Analytics.

Monitoring: Uptime Kuma

I replaced Uptime Robot with Uptime Kuma, a self-hosted monitoring tool. Uptime Kuma provides a simple and easy-to-use interface for monitoring my websites and services. Here's an example of how I configured Uptime Kuma using Docker Compose:

version: '3'
services:
  uptime-kuma:
    image: louketo/uptime-kuma:latest
    ports:
      - "3001:3001"
    environment:
      - DB_TYPE=postgres
      - DB_HOST=db
      - DB_USER=user
      - DB_PASSWORD=password
Enter fullscreen mode Exit fullscreen mode

I host Uptime Kuma on the same Hetzner VPS as Plausible, which costs an additional €1/month. With Uptime Kuma, I've saved €15/month compared to Uptime Robot.

CI/CD: Gitea Actions

I replaced GitHub Actions with Gitea Actions, a self-hosted CI/CD tool. Gitea Actions provides a powerful and flexible way to automate my development workflow. Here's an example of how I configured Gitea Actions using a .yml file:

version: '1'
tasks:
  build:
    runs: |
      echo "Building..."
      # Your build script here
  deploy:
    runs: |
      echo "Deploying..."
      # Your deploy script here
Enter fullscreen mode Exit fullscreen mode

I host Gitea Actions on a separate Hetzner VPS, which costs €10/month. With Gitea Actions, I've saved €50/month compared to GitHub Actions.

Forms: n8n

I replaced Typeform with n8n, a self-hosted workflow automation tool. n8n provides a powerful and flexible way to automate my workflows, including forms. Here's an example of how I configured n8n using Docker Compose:

version: '3'
services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgres
      - DB_HOST=db
      - DB_USER=user
      - DB_PASSWORD=password
Enter fullscreen mode Exit fullscreen mode

I host n8n on the same Hetzner VPS as Plausible and Uptime Kuma, which costs an additional €1/month. With n8n, I've saved €20/month compared to Typeform.

Email: Mailu

I replaced Mailchimp with Mailu, a self-hosted email server. Mailu provides a simple and easy-to-use interface for managing my email lists and campaigns. Here's an example of how I configured Mailu using Docker Compose:

version: '3'
services:
  mailu:
    image: mailu/mailu:latest
    ports:
      - "25:25"
      - "587:587"
    environment:
      - MAILU_POSTMASTER=your_email
      - MAILU_ADMIN=your_email
Enter fullscreen mode Exit fullscreen mode

I host Mailu on a separate Hetzner VPS, which costs €10/month. With Mailu, I've saved €50/month compared to Mailchimp.

Quick Comparison Summary

Here's a summary of the SaaS tools I replaced, their self-hosted alternatives, and the monthly savings:

  • Analytics: Google Analytics (€25/month) -> Plausible (€0/month)
  • Monitoring: Uptime Robot (€15/month) -> Uptime Kuma (€0/month)
  • CI/CD: GitHub Actions (€50/month) -> Gitea Actions (€0/month)
  • Forms: Typeform (€20/month) -> n8n (€0/month)
  • Email: Mailchimp (€50/month) -> Mailu (€0/month)

Total monthly savings: €500/month -> €16/month (Hetzner VPS costs)

Key Takeaways

Replacing my SaaS tools with self-hosted alternatives has saved me a significant amount of money each month. Here are some key takeaways from my experience:

  • Self-hosted tools can be just as powerful and flexible as their SaaS counterparts.
  • Docker Compose makes it easy to deploy and manage self-hosted tools.
  • Hetzner VPS provides a affordable and reliable hosting solution for self-hosted tools.
  • n8n and Gitea Actions provide a powerful and flexible way to automate workflows and CI/CD pipelines.
  • Plausible and Uptime Kuma provide a simple and easy-to-use interface for analytics and monitoring.
  • Mailu provides a simple and easy-to-use interface for managing email lists and campaigns.

Overall, I'm happy with the self-hosted tools I've implemented, and I'm excited to see how they will continue to evolve and improve over time.


🛒 Useful Resources:

Follow me on Dev.to for weekly automation & self-hosting guides.

Top comments (0)