rookeries/readme.md

61 lines
2.6 KiB
Markdown
Raw Normal View History

# 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.
2017-11-02 09:19:23 -04:00
- 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:
2016-12-16 23:13:53 -05:00
- **CircleCI**: [![CircleCI](https://circleci.com/bb/dorianpula/rookeries.svg?style=svg)](https://circleci.com/bb/dorianpula/rookeries "CircleCI builds")
- **Docker**:
[![](https://img.shields.io/docker/automated/dorianpula/rookeries.svg)](https://hub.docker.com/r/dorianpula/rookeries/ "Docker Hub")
[![](https://img.shields.io/docker/pulls/dorianpula/rookeries.svg)](https://hub.docker.com/r/dorianpula/rookeries/ "Docker Hub")
[![](https://img.shields.io/docker/stars/dorianpula/rookeries.svg)](https://hub.docker.com/r/dorianpula/rookeries/ "Docker Hub")
[![](https://images.microbadger.com/badges/image/dorianpula/rookeries.svg)](https://microbadger.com/images/dorianpula/rookeries "Rookeries Docker size courtesy of microbadger.com")
## 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:
2018-08-08 16:42:22 -04:00
- Rust 1.27+
- NodeJS 10 + ES2017
- CouchDB 2x
- PostgreSQL 10.5
- Docker + docker-compose
### Getting Started
**Rookeries** requires newer versions of Docker (<1.9.0) and
docker-compose (<1.8.0).
1. [Install docker-compose](https://docs.docker.com/compose/install/)
1. Install [cargo-make](https://sagiegurari.github.io/cargo-make)
1. Install [diesel_cli](https://github.com/diesel-rs/diesel/tree/master/diesel_cli)
1. Install the Postgres headers > 10.5: e.g. `sudo apt install libpq-dev` on Ubuntu 18.04
1. Install diesel_cli: `cargo install diesel_cli --no-default-features --features postgres`
1. Setup the Rookeries database with the diesel migration tool: `diesel migration run`
1. Build Rookeries: `cargo build`
1. Run local server: `cargo make run-dev-server --env-file=dev.env`
1. Run API server tests: `cargo make docker-test-api`
1. Alternatively, start a local server.
2018-09-26 08:58:42 -04:00
1. Start a local Postgres instance: `docker-compose up -d db`
1. Initialize the database with `cargo make init-test-db`
1. Then run the tests locally with `cargo test`
1. 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)`