2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 14:23:51 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 14:23:51 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00
2026-10-06 13:35:10 +02:00

RenewCMS

A small self-hosted CMS: a Go API and a Vue 3 admin/front SPA, shipped as a single executable backed by a SQLite file.

🚧 Under development. Features are incomplete, not fully tested and subject to change.

Quick start

Run a release binary

cp .env.example .env    # fill in PUBLIC_URL, JWT_SECRET and SMTP_*
./renewcms              # → http://localhost:8080

Data is stored in ./data/ by default. For a real server (systemd, HTTPS, backups), see docs/deployment.md.

Run with Docker

cp docker.env.example docker.env    # fill in PUBLIC_URL, JWT_SECRET and SMTP_*
docker compose pull
docker compose up -d                # http://localhost:8080

Upgrade with docker compose pull && docker compose up -d. The image git.floriansylvain.fr/fsylvain/renewcms is published by the maintainer with task docker:publish (no CI). Tags: vX.Y.Z, X.Y.Z, X.Y and latest for a stable release; vX.Y.Z-<pre>, X.Y.Z-<pre> and the moving beta or rc for a pre-release (latest never moves for those, so the default is beta for now). To build from source use the override described in docs/docker.md.

Updates from the browser

On Linux with systemd, install v2.6.0-beta or newer manually, then follow the browser-update setup guide. It covers finding the actual database directory, installing the helper, testing a restart and troubleshooting. Other platforms use manual upgrades.

Develop

Requires Go 1.27+, Node.js 22, Bun and Task.

cp .env.example .env
task setup
task dev                # API with hot reload + Vite HMR → http://localhost:5173

Documentation

Doc Contents
docs/development.md Dev setup, how Vite and the API fit together, tests, lint, task commands
docs/deployment.md Building release binaries, running as a service, HTTPS, backups, upgrades
docs/docker.md Running RenewCMS in Docker: image, Compose, data volume, backups, reverse proxy, tags, upgrades, publishing
docs/configuration.md Every environment variable
docs/architecture.md Backend layering and how the SPA is embedded

API Usage

TODO

TODOs

  • Cancel button when email validation pending or expired
Languages
Go 35.4%
TypeScript 32.3%
Gherkin 20.8%
Vue 11.2%
HTML 0.2%
Other 0.1%