76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
# Rookeries
|
|
|
|
A developer and designer friendly web platform for building gorgeous blogs and portfolios.
|
|
|
|
**Rookeries** is:
|
|
|
|
- Powered by Python on the server side using Flask and CouchDB.
|
|
- Uses React, Reflux, CoffeeScript and LESS to build responsive single page apps.
|
|
- Licensed under the Affero GNU General Public License (AGPL) version 3.0.
|
|
- Heavily inspired by the [Ghost blogging platform](https://ghost.org/about/).
|
|
|
|
**Status**
|
|
|
|
- Builds: [ ](https://codeship.com/projects/77461)
|
|
|
|
## 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
|
|
- NodeJS
|
|
- CoffeeScript
|
|
- GCC (for compiling some dependencies)
|
|
|
|
Make sure you have the following installed and setup before continuing:
|
|
- git
|
|
- pip
|
|
- virtualenv
|
|
- npm
|
|
|
|
comfortable using the bash shell on Linux or Mac OS X. (Window users should install bash using
|
|
[cygwin](http://cygwin.com/) or the Windows App store.)
|
|
|
|
For development and deployment you'll also need [Vagrant](https://www.vagrantup.com/) and
|
|
[Ansible](http://ansible.com/).
|
|
|
|
### Getting Started
|
|
|
|
1. Clone this repository: `git clone https://bitbucket.org/dorianpula/rookeries.git`
|
|
1. Create a virtualenv and source it: `virtualenv rookeries && source rookeries/bin/activate`
|
|
1. Install the Python/PIP dependencies: `pip install -r requirement/development.txt`
|
|
- *Ubuntu Linux*: You may need to install via `apt-get install` the following dependencies:
|
|
- python-dev
|
|
- libffi-dev
|
|
- libssl-dev
|
|
1. Install the Node/NPM dependencies: `npm install`
|
|
1. Install the global Node/NPM dependencies: `npm install -g coffee-script browserify less karma-cli`
|
|
1. Run the invoke build script to run the application: `inv server.run`
|
|
1. Navigate to the main Rookeries page in a browser: [http://localhost:5000/](http://localhost:5000/)
|
|
|
|
Use `inv -l` to list all the available commands.
|
|
|
|
### Getting Started - Docker
|
|
|
|
This is a **very** _experimental_ setup, and requires installing the latest version of docker-compose. Tested on
|
|
Docker 1.11.1 & Docker Compose 1.7.1.
|
|
|
|
1. Install docker-compose via pip: `pip install docker-compose`
|
|
1. Install make via apt-get: `apt-get install make`
|
|
1. Build Rookeries: `make build`
|
|
1. Run tests: `make test`
|
|
1. Run demo: `make demo`
|
|
|
|
### Test Deployment
|
|
|
|
You can also test the deployment of *Rookeries* to local server. You'll need to install to have
|
|
[Vagrant](https://www.vagrantup.com/). [Ansible](http://ansible.com/) should be installed in your virtualenv if
|
|
you followed the instructions above.
|
|
|
|
1. Install the Rookeries to a local Vagrant box with: `inv vagrant.install`
|
|
1. The application will be accessible via port 8080 locally: [http://localhost:8080/](http://localhost:8080/)
|