// the find
refinery/refinerycms
An extendable Ruby on Rails CMS that supports Rails 6.1 to 8.1+ and Ruby 3.x to 4.x
Refinery is a Rails engine-based CMS for sites where non-technical clients need to edit their own pages, with Devise authentication, Dragonfly-backed uploads, and a generator for building custom extensions. It suits Rails teams that want a CMS to stay inside Rails conventions rather than run as a separate headless stack. The repo claims support from Rails 6.1 through 8.1 and Ruby 3.x through 4.x.
- Functionality ships as Rails engines (core plus separate extensions for blog, news, inquiries and portfolio), so custom features live in versionable gem-style packages instead of forks of the host app.
- The extension generator (rails generate refinery:engine) scaffolds admin CRUD, routes, locale files and views in one step, which is the main reason to pick this over starting from a blank Rails app.
- It stays on ERB and plain Rails idioms instead of introducing its own templating layer, so a Rails developer can read and change the code without learning a new system.
- There are more than 30 locale files in core/config/locales, and a separate legacy.yml workflow beside main.yml suggests older Rails lines are still tested rather than just listed as supported.
- The README says the website is not live and that parts of its docs are out of date, so the real onboarding path is the doc/guides folder inside the repo, which is easy to miss.
- The ImageMagick warning still presents CVE-2016-3714 as a current serious vulnerability. The advice to tighten the policy file is still sound, but the framing is about a decade old and says nothing about which ImageMagick versions are affected today.
- The front end is jQuery with a Sprockets-style asset layout (manifest.js, application.js, refinery_core_manifest.js). Anyone starting a new Rails 8 app will be carrying a pipeline and JS stack that most of the ecosystem has moved away from.
- Uploads run through Dragonfly, not Active Storage, so you end up maintaining a second attachment abstraction next to whatever the rest of your Rails app uses. That is a real cost if you are not already committed to Dragonfly.