Public | Automated Build

Last pushed: a year ago
Short Description
Logical CMS
Full Description

Content management refined

Logical is a web publishing system designed with a focus on user experience and usability. It is designed to be intuitive and easy for the end user to get professional results with.

It has been under development for nearly two years and has now been released as open source software under the GPL license.

At present it uses the MySQL database however it is possible that it may switch to PostgreSQL in the future. It should work with Postgres more or less out of the box already (previous versions were successfully tested with it) however support is not guaranteed.

Getting started

Using Docker

  1. Run these commands: (change IP addresses to taste)
docker network create --subnet logical
docker run --name logical-mariadb --net logical -e MYSQL_ROOT_PASSWORD=logical --restart unless-stopped -d mariadb
docker run --name logical-app --net logical --ip -e RAILS_ENV=production -e DB_HOST=logical-mariadb -e DB_USER=root -e DB_PASSWD=logical -e DB_NAME=logical --restart unless-stopped -d logical/logical
docker exec logical-app rake db:setup
  1. Set your reverse proxy to forward your site to

On your local machine


  • Ruby 2.3.1
  • libmysqlclient-dev
  • imagemagick
  • nodejs
  1. Clone this git repository into a folder on the machine you want to run it on.
  2. Edit config/database.yml to suit your environment.
  3. In a terminal, run:

    bundle install
    rake db:setup

  4. If you are running in production, run:

    rake assets:precompile

  5. Followed by:

    <pre>rails server -b</pre>

  6. This should provide you with a fully usable Logical CMS installation.

Logical uses the Puma web server as this offers substantially better performance than the default Webrick server.

Dokku also works very well for deployment as it provides a Heroku-style environment which will work with a minimum of effort.


Logical requires minimal configuration, however if you are not using the standard Docker setup (or if you want to set up AWS or SMTP support), you can use the following environment variables:


DB_NAME - MySQL Database Name
DB_USER - MySQL Username
DB_PASSWD - MySQL Password
DB_HOST - MySQL Host (typically localhost)


AWS_BUCKET - The name of your AWS S3 bucket
AWS_ACCESS_KEY - The access key for your S3 user
AWS_SECRET_KEY - The secret key for your S3 user
AWS_REGION - The region your S3 bucket is in


SMTP_HOST - the hostname of your SMTP server
SMTP_DOMAIN - the domain to send mail from
SMTP_USER - the username to connect to your SMTP server with
SMTP_PASSWD - the password to connect to your SMTP server with


Copyright (C) 2016 Joel Nichols / Logical CMS

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Docker Pull Command
Source Repository