arrow
description
Infrastructure as code for a self-hosted Raspberry Pi server: every service is a Docker Compose stack, so the server can be rebuilt from the repository.
technologies
[Raspberry Pi][Docker][Docker Compose][Portainer][Terraform][Cloudflare Tunnel][Tailscale][PostgreSQL][Python][GitHub Actions]
links
[repository]

Runs my own services at home, with the setup documented as it grows. The repository holds no secrets: every confidential file is committed only as an example copy.

Features

  • One Docker Compose stack per service, managed through Portainer
  • Network-wide ad and tracker blocking (AdGuard)
  • Shared PostgreSQL database with pgAdmin
  • Self-hosted website analytics (Umami)
  • Own cloud storage (Nextcloud)
  • Media server for website images
  • Public subdomains through a Cloudflare Tunnel, private access through Tailscale
  • Cloudflare tunnel routes and DNS as code (Terraform)
  • CI on every push: stack validation and smoke tests, secret scanning, Terraform checks
  • CPU temperature guard with Discord reports
  • Local .env files created and checked against their examples (main.py)
  • More services from the roadmap