hivepaas README

The project's README from github.com/hivepaas/hivepaas. As one markdown file: README.md.

HivePaaS logo

HivePaaS

A lightweight, self-hosted, and modern Platform-as-a-Service (PaaS) built on Docker Swarm.

An open-source, resource-efficient alternative to Heroku, Render, and Coolify for managing and deploying applications on your own servers.

Go Version Docker Traefik License

Features • Website & Demo • Quick Start • Architecture • Documentation • Contributing


🌟 Key Features


🌐 Website & Demo


🏗️ Architecture

HivePaaS uses a clean two-tier network and node topology for maximum security and simplicity:

               ┌──────────────────────────────────────┐
               │         Internet / Users             │
               └──────────────────┬───────────────────┘
                                  │ (Port 80 / 443)
                                  ▼
┌────────────────────────────────────────────────────────────────────────┐
│ PRIMARY CONTROL-PLANE (Manager Node)                                   │
│                                                                        │
│  ┌─────────────────┐       ┌────────────────┐       ┌───────────────┐  │
│  │  Traefik Proxy  │◄─────►│  HivePaaS App  │◄─────►│  PostgreSQL   │  │
│  └────────┬────────┘       └───────┬────────┘       └───────────────┘  │
│           │                        │                                   │
└───────────┼────────────────────────┼───────────────────────────────────┘
            │                        │ (gRPC Management)
    (hivepaas_net overlay)           ▼
┌───────────┼────────────────────────────────────────────────────────────┐
│ WORKER NODES (Multi-Node Cluster)                                      │
│           │                                                            │
│           ├────────────────────────┬────────────────────────┐          │
│           ▼                        ▼                        ▼          │
│  ┌─────────────────┐      ┌─────────────────┐      ┌────────────────┐  │
│  │   Web App (A)   │      │   Web App (B)   │      │ HivePaaS Agent │  │
│  │  (project_net)  │      │  (project_net)  │      │  (Global Mode) │  │
│  └─────────────────┘      └─────────────────┘      └────────────────┘  │
└────────────────────────────────────────────────────────────────────────┘

🚀 Quick Start

Prerequisites

1. Install

On the server:

curl -fsSL https://get.hivepaas.com | sudo bash

The installer asks for the admin's email and password and the dashboard's domain, sets up Docker Swarm, and deploys HivePaaS. To install without questions, see Silent install.

2. Open the dashboard

Open the domain you gave, such as https://hivepaas.example.com, and sign in with the admin's email and password.

3. If a change locks you out

Configuration changes that can make the dashboard unreachable - traefik's startup command, the HivePaaS routing and proxy settings - are applied on trial and undone automatically unless you confirm them. docs/recovery.md explains what catches what, and what to do by hand when nothing automatic can run.

To work on HivePaaS itself, see docs/DEVELOPMENT.md.


🛠️ Tech Stack

Component Technology Required? What it does
Backend Go (Gin, Bun, lego) Required The API, the task queue and the dashboard's server
Agent Go, gRPC Required Runs on every node: builds images, runs commands and backups, reads the node
Database PostgreSQL 18 Required HivePaaS's state: projects, apps, settings, tasks
Cache & queue Redis 8 Required Sessions, locks, the task queue and rate limiting
Orchestration Docker Swarm (Docker 29.5+) Required Runs and schedules every container, on one node or many
Ingress Traefik v3 Required Routing, TLS and the per-app rules
Image builds BuildKit (docker buildx) Required to build from Git and functions Builds images from repositories and functions' code
Backups Kopia Optional - when you back up Encrypted, deduplicated backups and restores
Logs & metrics VictoriaLogs and vlagent Optional - switched on in System › Logging Log history, metrics and autoscaling
Routes & calls OBI (OpenTelemetry eBPF Instrumentation) Optional - per app HTTP routes and outgoing calls of apps, without code changes
Registry zot Optional - switched on in System › Registry A container registry of your own, for images built on a multi-node cluster
Function runtimes hivepaas/function-runtimes Optional - when you use functions The images functions are built on
Dashboard React 19, Vite, TypeScript, Tailwind CSS, TanStack Query Required The web interface

📚 Documentation


🔒 Security

Please report vulnerabilities privately, through GitHub's vulnerability reporting - never in a public issue. See SECURITY.md for what to include and what happens next.


💬 Community & Support


🤝 Contributing

Contributions, issues, and feature requests are welcome!

Setting up a development machine - the local cluster, the three ways to run the backend, and what to run before you push - is in docs/DEVELOPMENT.md.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feat: Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request using our PR Template

📄 License

Distributed under the Apache 2.0 License. See LICENSE for more information.

hivepaas (hivepaas/hivepaas)

Searching Database…

What is this?HivePaaS is a lightweight, self-hosted Platform-as-a-Service built on Docker Swarm, meant as a resource-efficient alternative to Heroku, Render, and Coolify for deploying apps on your own servers.
How is this different from Coolify or a raw Kubernetes setup?It runs on Docker Swarm instead of Kubernetes, with a control plane of about 300 MB, and gives you a Heroku-style dashboard for deploying Docker images, Git repos, and functions rather than manual orchestration.
How do I get it running?Run the HivePaaS installer on your Linux server; it asks for the admin's email, password, and the dashboard's domain, then sets up Docker Swarm and deploys HivePaaS automatically. A silent, non-interactive install option also exists.
What does my server need before installing?A Linux server with root access (Debian, Ubuntu, Fedora, RHEL, Rocky, AlmaLinux, Amazon Linux, SLES, openSUSE, Arch, or Alpine), 4 CPUs/8GB RAM/40GB disk recommended, ports 80 and 443 open, and Docker 29.5+ (the installer installs it if missing).
What happens if a settings change locks me out of the dashboard?Risky changes (like Traefik's startup command or HivePaaS routing/proxy settings) are applied on a trial basis and automatically rolled back unless you confirm them; docs/recovery.md covers manual recovery if automation can't run.
What can I deploy on it?Anything from a Docker image or a Git repo (with your own Dockerfile or an auto-generated one for 15+ languages/frameworks), serverless functions in Node.js/TypeScript, Bun, Python, or Go, and 300+ one-click App Store templates for databases, CMSs, analytics and more.
How do backups work?Backups are encrypted and deduplicated using Kopia, sent to S3-compatible storage or a local volume, and can be scheduled with restores, exports, and app cloning.
Can AI agents or scripts talk to HivePaaS directly?Yes, it exposes a REST API with OpenAPI docs and also runs an MCP server so AI coding assistants can interact with it.
Does it support scaling across multiple servers?Yes, it runs multi-node Docker Swarm clusters with autoscaling based on requests and CPU, plus health checks and scheduled jobs.
How does TLS and domain routing work?Traefik v3 handles ingress with automatic certificates from Let's Encrypt, ZeroSSL, or Google Trust Services (including wildcards via DNS), plus redirects, basic auth, and per-app IP/rate limits.
Creator
hivepaas
Size
17.4 MB
Stars
308
Updated
CommitOct 19
Age
1y
Commits · 90 Days