Skip to content

SimuCorps/Coranto

Repository files navigation

Coranto

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.

Quick start

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:seed

Open http://localhost:3000 and verify health at http://localhost:3000/up. See the installation guide for first-user setup and TLS guidance.

Docker development commands

Rebuild and start the production-like stack after changing application code:

docker compose up -d --build
docker compose ps
docker compose logs -f web worker

Useful 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 down

Owners 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-pager

For 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 worker

That command imports normal Coranto pages, publishes the Markdown docs, installs and activates the official ERB theme, and installs the marketplace plugin.

Repository map

  • 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/ and compose.yml — the primary deployment path.
  • bin/ — installation, backup, restore, and release utilities.

Documentation

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.

Releases and trust

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.

Contributing

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.

License

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.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages