/clubbable

A web application for managing newsletters and image galleries for a club

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

clubbable

A web application for managing newsletters and image galleries for a club.

Deployment

Heroku is the standard deployment environment, but you can find git branches for building a Docker image, and for deploying to AWS Elastic Beanstalk in a multi-container Docker environment.

Running locally

For Debian derivatives like Ubuntu, install system packages:

$ sudo apt-get install python-dev libjpeg-dev libpng12-dev

Install Python requirements. (Using a Python virtual environment is recommended):

$ pip install -r requirements.txt

Create a configuration file for your local environment:

$ cp env/example env/local  # (where "local" is an arbitrary name)

Customise your configuration:

$ $EDITOR env/local

Set environment variables:

$ egrep -v '^#|^$' env/local | while read LINE ; do export $LINE ; done

Start the development web server:

$ cd src/clubbable
$ ./manage.py runserver

If required, you can run all services in their own shells:

redis $ docker-compose up
celery $ celery worker --workdir src/clubbable -A clubbable -l info

dumpmdb is a service for dumping database tables:

dumpmdb $ docker run -p 8001:8001 \
            -e PORT=8001 \
            -e MDB_DUMP_USERNAME=jbloggs \
            -e MDB_DUMP_PASSWORD=secret \
            dumpmdb:latest

Documentation

Further documentation can be found in the "doc" directory.