v0.1.0
Belune v0.1.0 — first public release
Belune is a self-hosted platform-as-a-service for a single Docker host. Deploy
apps straight from a Git push or a prebuilt image, run managed databases, and get
automatic HTTPS — all from one dashboard, on a VPS you control.
This is the first public release. It has been through an extended pre-release
hardening pass (rc1–rc11) covering fresh-install, deploy, backup/restore, TLS, and
upgrade paths on real VPS hosts.
Quick start
On a fresh Linux VPS (the installer installs Docker if it's missing):
curl -sSL https://raw.githubusercontent.com/weiliang79/belune/refs/heads/main/scripts/install.sh | bashThen open the URL the installer prints (your server's detected IP) and create the
first admin account.
Requirements: a Linux host (amd64 or arm64) with Docker + Compose v2. Runs on a
1 vCPU / 1 GB box — service CPU caps are clamped to the host's core count at install.
What's included
Deploys
- Git deploys with automatic builds via railpack / Cloud Native Buildpacks — no
Dockerfile required (Dockerfile builds are supported too). - Prebuilt-image deploys with digest pinning.
- Git provider integrations: GitHub App and OAuth (GitHub / Gitea), so you deploy
from private repos without pasting a token. - Auto-deploy: push webhooks for Git apps and per-app deploy hooks for CI /
image apps. - Rollbacks, per-deploy logs, and live build-log streaming.
Managed databases
- PostgreSQL, MySQL, MongoDB, Redis, plus a generic "other" image type.
- Backups — scheduled and on-demand — to local storage or S3-compatible
destinations, with retention. - Guarded major-version upgrades (dump → rebuild → restore, with a pre-upgrade
backup and automatic rollback on failure). - External access over an SSH tunnel (bound to loopback, never exposed publicly).
- Reload — recreate a database's container from its stored config to recover one
that was deleted or has drifted, with the data volume preserved.
Networking & TLS
- Automatic HTTPS via Caddy (Let's Encrypt), with a per-domain HTTP→HTTPS toggle.
- Domain- and path-based routing (path prefix, strip, internal path).
- Live TLS/certificate status surfaced in the dashboard, including ACME failure
reasons.
Templates
- One-click application templates for common services, instantiated as native
Belune resources.
Storage
- Volume mounts and file / config mounts (managed host files bind-mounted
read-only, with reveal-on-demand for secrets).
Observability
- Leveled logs (Debug/Info/Warning/Error) for the platform, applications, and
database containers, with live streaming and history. - Metrics (per-app and host) and a read-only Docker admin view
(containers / images / volumes / networks). - Open-standard exporters (Prometheus / OTLP).
Notifications
- Delivery of platform events to external channels (e.g. email, Discord).
Operations
- One-line installer that installs Docker if absent, lays out the stack, clamps
CPU limits to the host, and auto-detects and pins the server's public IP. - Version-pinned updater (
update.sh) that takes a pre-update backup, reconciles
the version-matched infra files, moves the image pin, and health-checks the result
— with clear rollback instructions. - Server maintenance: granular disk cleanup, Caddy reconcile, and stuck-job
clearing. - Optional systemd units for auto-start on reboot and daily backups.
Security
- Session auth with CSRF protection, encrypted-at-rest credentials and secrets,
audit logging, and per-user rate limiting. - The API is bound to loopback and served only through Caddy; database external
access is loopback-only.
Upgrading
Belune installs are pinned to a version, never :latest, so a routine pull can't
move you across a migration boundary. To move to a new release (takes a backup first):
cd /opt/belune && sudo bash scripts/update.shNotes & known limitations
- Single host. Belune manages one Docker host; multi-server is not in this release.
- Restore is host-side by design. Database restore runs from the server via
scripts/restore.sh(guarded), not from the dashboard. - Preview environments are present but unfinished and intentionally hidden in this
release.
Links
- Install & first-deploy runbook:
docs/runbooks/install.md - Configuration reference:
docs/configuration.md - License: Apache-2.0
Thanks for trying Belune. Issues and feedback welcome on the tracker.