|
||
---|---|---|
.circleci | ||
docs | ||
plugins | ||
server | ||
web-app | ||
.docker-repository.yml | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
Makefile.toml | ||
docker-compose.yml | ||
docker.env | ||
readme.md |
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:
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).
- Install docker-compose
- Install cargo-make:
cargo install --force cargo-make
- Install other dependencies by using
cargo make bootstrap
:- Install the Postgres headers > 10.5: e.g.
sudo apt install pkg-config libpq-dev
on Ubuntu 18.04 - Bootstrap will install diesel_cli configured for Postgresl.
- Install the Postgres headers > 10.5: e.g.
- Setup the Rookeries database with the diesel migration tool:
cargo make migrations
- Build Rookeries:
cd server && cargo build
- Run local server:
cargo make run-dev-server
- Run API server tests:
cargo make docker-test-api
- Alternatively, start a local server.
- Start a local Postgres instance:
docker-compose up -d db
- Initialize the database with
cargo make init-test-db
- Then run the tests locally with
cd server && cargo test
- 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)