Coranto is an open-source publishing system for teams that want a focused editorial workflow, portable content, and an extension ecosystem without giving up control of their infrastructure. It is built by SimuCorps and developed in the open with its contributors.
Project status: active, pre-1.0 development. The plugin and ERB theme runtimes are functional, but their APIs may change before 1.0.
Docker Compose is the supported production-like installation path:
cp .env.example .env
# Set strong values for POSTGRES_PASSWORD and SECRET_KEY_BASE.
docker compose up -d
docker compose exec web bin/rails db:seedOpen http://localhost:3000 and verify health at
http://localhost:3000/up. See the installation guide for
first-user setup and TLS guidance.
Rebuild and start the production-like stack after changing application code:
docker compose up -d --build
docker compose ps
docker compose logs -f web workerUseful maintenance and development commands:
docker compose exec web bin/rails db:prepare
docker compose exec web bin/rails db:seed
docker compose exec web bin/rails console
docker compose restart web worker
docker compose downOwners can queue checksummed backups, verified restores, and signed,
digest-pinned updates from Admin → Updates & Backups. Run the privileged
host operator separately with bin/coranto operator loop 15; the Rails
containers never receive Docker access. See backup and restore
and safe upgrades.
Run the automated checks in the same container environment used by an end-user installation:
docker compose run --rm -e RAILS_ENV=test web sh -c 'bin/rails db:test:prepare && bin/rails test'
docker compose run --rm web bin/rubocop
docker compose run --rm web bin/brakeman --no-pagerFor a fresh local installation, docker compose down --volumes also deletes
the PostgreSQL database and uploads. Do not run it against a site whose data
you need.
To reproduce coranto.dev after creating the owner, run:
docker compose exec web bin/rails coranto:import_official_site
docker compose restart web workerThat command imports normal Coranto pages, publishes the Markdown docs, installs and activates the official ERB theme, and installs the marketplace plugin.
core/— the Rails application.site/themes/coranto/— the official Coranto ERB theme source.site/plugins/coranto-marketplace/— the curated marketplace plugin source.site/content/— portable seed/import data for the official website.docs/— administrator, developer, security, and operations documentation.docker/andcompose.yml— the primary deployment path.bin/— installation, backup, restore, and release utilities.
Start with installation, then read the administrator guide. Operators should review deployment, backups, upgrades, DigitalOcean deployment, and security. Extension authors can use the theme SDK and plugin SDK.
Every release should publish a versioned manifest, SHA-256 checksums, a detached signature, an SBOM, and provenance. The proposed update protocol is documented in release and updates. Never install an extension whose digest or signature cannot be verified.
Contributors of every background and skill level are welcome. Like the Ruby
community that Coranto belongs to, we aim to be patient, kind, and helpful to
people learning their way around the project. Use a focused branch, include
tests or fixture validation where practical, and run bin/validate before
opening a pull request. See the contributing guide for the
full workflow. Security reports must follow the private reporting
process.
Coranto is licensed under the Apache License 2.0. It permits commercial and private use, modification, and redistribution while preserving license and NOTICE terms. Its express patent grant and patent-termination clause are a strong fit for a plugin and theme ecosystem. Copyright is held by SimuCorps and Coranto contributors; see NOTICE.