A developer and designer friendly web platform for building gorgeous sites, blogs and portfolios.
Go to file
Dorian eb46ef4a4a Add support for managing the lifecycle of the plugins. 2019-05-13 10:17:41 -04:00
.circleci Prepare for a new release. 2019-04-25 08:26:30 -04:00
docs Prepare for a new release. 2019-04-25 08:26:30 -04:00
plugins Add support for managing the lifecycle of the plugins. 2019-05-13 10:17:41 -04:00
server Separate plugins from the rest of the web-app. 2019-05-13 08:45:18 -04:00
web-app Separate plugins from the rest of the web-app. 2019-05-13 08:45:18 -04:00
.docker-repository.yml Update CI scripts to work against a single image. 2017-03-14 21:14:21 -04:00
.dockerignore Remove remaining Python dependencies. 2018-08-16 14:53:14 -04:00
.gitignore Separate plugins from the rest of the web-app. 2019-05-13 08:45:18 -04:00
Dockerfile Prepare for a new release. 2019-04-25 08:26:30 -04:00
Makefile.toml Add support for managing the lifecycle of the plugins. 2019-05-13 10:17:41 -04:00
docker-compose.yml Start migration of sites to postgres. 2018-09-26 08:58:42 -04:00
docker.env Separate plugins from the rest of the web-app. 2019-05-13 08:45:18 -04:00
readme.md Fix minor issues and update documentation for upcoming release. 2019-04-23 08:56:15 -04:00

readme.md

Rookeries

A developer and designer friendly headless CMS and static site management tool for building gorgeous websites.

Rookeries is:

  • Powered by Rust and PostgreSQL on the server side.
  • Uses preact, mobx, ES2017 and webpack to build responsive single page apps.
  • Licensed under the Affero GNU General Public License (AGPL) version 3.0.

Build Status:

  • Built with cargo-make
  • CircleCI: CircleCI
  • Docker:

Installation

Rookeries is heavily under development and once things stabilize there will be a user friendly installation guide. In the meantime, please refer to the development guide below.

Development

Rookeries uses the following technologies:

  • Rust 1.28+
  • NodeJS 10 + ES2017
  • PostgreSQL 10.x
  • Docker + docker-compose

Getting Started

Rookeries requires newer versions of Docker (<1.9.0) and docker-compose (<1.8.0).

  1. Install docker-compose
  2. Install cargo-make: cargo install --force cargo-make
  3. Install other dependencies by using cargo make bootstrap:
    1. Install the Postgres headers > 10.5: e.g. sudo apt install pkg-config libpq-dev on Ubuntu 18.04
    2. Bootstrap will install diesel_cli configured for Postgresl.
  4. Setup the Rookeries database with the diesel migration tool: cargo make migrations
  5. Build Rookeries: cd server && cargo build
  6. Run local server: cargo make run-dev-server
  7. Run API server tests: cargo make docker-test-api
    1. Alternatively, start a local server.
    2. Start a local Postgres instance: docker-compose up -d db
    3. Initialize the database with cargo make init-test-db
    4. Then run the tests locally with cd server && cargo test
  8. Run UI tests: cargo make test-ui

Local Server Setup

To run the Rust server locally, remember to initialize the local dev environment variables using: export $(cat dev.env | xargs)