Skip to content

codingjoe/freePaaS

freePaaS: Secure, convenient, fast & free forever!

freePaaS — Secure, convenient, fast & free forever!

Production ready services fully managed on a RaspberryPi (or any other machine):

No config, no costs, just GitHub and your own server.

Getting Started

bash <(curl -fsSL https://raw.githubusercontent.com/codingjoe/freePaaS/main/bin/install.sh)

The installer will guide you through the setup process and get your first application up and running in seconds!

Do connect to your Docker host you use the context:

docker context import PROJECT_NAME collaborator.dockercontext
docker context use PROJECT_NAME
docker ps

DNS Setup

If you haven't done so already, here are the steps to set up your DNS records:

A @ YOUR_SERVER_IP
A * YOUR_SERVER_IP
AAAA @ YOUR_SERVER_IPV6
AAAA * YOUR_SERVER_IPV6

How it works

---
title: Architecture
---
flowchart LR
  subgraph github["🐙 GitHub"]
    git["📦 Version Control"]
    LB["🔄 CI/CD"]
    env["🔐 Secrets Storage"]
    auth["👤 Auth & Users"]
  end

  subgraph host["🐳 Docker Host"]
    subgraph app["📱 App 1...N"]
      web1["🌐 Web 1...N"]
      pg["🐘 PostgreSQL"]
      redis["⚡ Redis"]

      web1 --- pg
      web1 --- redis
    end
    caddy["⚖️ Caddy Load Balancer"]
    logs["📊 Logging & Monitoring"]
    backups["💾 Backups Service"]
    caddy --- web1
    caddy --- logs
    pg --- backups
    app --- logs
  end

  github --> host

  classDef githubStyle fill:#23863699,stroke-width:0px,color:#fff
  classDef githubServiceStyle stroke-width:0px
  classDef hostStyle fill:#0969da99,stroke-width:0px,color:#fff
  classDef appStyle fill:#8250df99,stroke-width:0px,color:#fff
  classDef serviceStyle fill:#bf8700,stroke-width:0px,color:#fff

  class github githubStyle
  class host hostStyle
  class app appStyle
  class web1,pg,redis,caddy,logs,backups serviceStyle
  class git,LB,env,auth githubServiceStyle
Loading

freePaaS uses a GitOps approach to deploy and manage your applications. GitHub is used as the single source of truth for application code, configuration, and secrets and authentication for staff. The Docker host runs the applications in lightweight containers, managed by Docker Compose. A Caddy load balancer handles incoming traffic, providing automatic HTTPS and routing requests to the appropriate web servers. Each application has its own PostgreSQL database and Redis instance for caching.

About

Production ready PaaS you can on a RaspberryPi

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •