/superdesk-server

Superdesk API server for ui devs

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Superdesk Server Build Status

Superdesk Server provides a REST API server for Superdesk project. It's a python app, built on top of eve/flask framework.

There is some basic infrastructure plus app modules for users, authentication, ingest, archive, etc.

Requirements

We support python version 3.3+.

Other requirements are mongodb server and elasticsearch instance. Both can be configured via environment variables (see settings.py).

Installation

Using virtualenv is recommended for installing python requirements. So once activated, run:

$ pip install -r requirements.txt

External libs

For image processing you will need some extra packages:

CI

Use nosetests for unit tests:

$ nosetests

Behave for behaviour testing:

$ behave

Flake8 for style check:

$ flake8

Running Dev Server

This will start a dev server on port 5000 with auto reaload feature. Don't use in production..

$ python app.py

Running in production

Prefered way is using nginx + gunicorn:

$ gunicorn -w 4 -b :5000 wsgi

API Documentation

You can also run server with documentation on /docs url.

$ python docs.py

Running cli commands

$ python manage.py

This will give you list of available commands.

Creating admin user

This command will create an administrator user.

$ python manage.py users:create -u <username> -p <password>