# Rookeries A developer and designer friendly CMS for building gorgeous micro-sites, blogs and portfolios. **Rookeries** is: - Powered by Flask, Python and CouchDB 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: - **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: - Python 3.6 - NodeJS 8 + ES2017 - CouchDB 2x - 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. Build Rookeries: `make build` 1. Run tests: `make test` - `make test-api` to run API server tests. - `make test-ui` to run UI tests. 1. Run demo: `make demo` 1. Run the invoke scripts on a running Rookeries container with: `docker-compose exec rookeries inv $MY_TASK` - Use `inv -l` to list the available invoke tasks. 1. When running the demo, navigate to the main Rookeries page in a browser: [http://localhost:5000/](http://localhost:5000/) Please refer to the [Development Notes](docs/devnotes.md) for more details.