Simple and powerful Ruby on Rails CMS for developers
APIQ is a modern and flexible Ruby on Rails content management system with modular approach. It utilizes the most latest features from Rails and PostgreSQL (such as json column type, for example). Mostly inspired by LocomotiveCMS, but in contrast with it APIQ CMS relies on robust PostgreSQL database and doesn’t provide all-in-one solution. The basic idea behind APIQ CMS: minimal core, extendable via extensions (engines). So you can take only what you need.
Demo website: http://demo.apiq.io/
Backend (as admin): http://demo.apiq.io/kms (login/password: [email protected]/password)
Backend (as content manager): http://demo.apiq.io/kms (login/password: [email protected]/password)
Add to Gemfile
gem "kms"
# or for edge version:
gem "kms", github: "webgradus/kms"
Setup database.yml (only PostgreSQL 9.2+ supported)
Run generator:
rails g kms:install
Copy migrations:
rails kms:install:migrations
Migrate:
rails db:migrate
Set locale in your main app.
Precompile assets (if it will be production app):
RAILS_ENV=production bundle exec rails assets:precompile
Run it using your favorite webserver - unicorn, puma, thin
Open your browser at http://localhost:3000/kms and sign up first admin user.
Please watch this video to start working in APIQ:
By default, APIQ offers local file system as storage for your assets. But you could use Amazon S3 as well. Just follow these simple steps:
Add to Gemfile special gem for storing secrets. For example, this could be dotenv-rails
or figaro
. Don’t forget to bundle install
gem 'dotenv-rails'
Setup your .env
file with these variables:
KMS_ASSETS_STORAGE=fog
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_BUCKET=bucket_name
AWS_REGION=eu-central-1 # or region you want
If you ran rails g kms:install
, then you should have config/initializers/carrierwave.rb. Feel free to customize it.
CarrierWave.configure do |config|
if ENV['KMS_ASSETS_STORAGE'] == 'fog'
config.fog_provider = 'fog/aws'
...
Please follow CONTRIBUTING.md.