Skip to content
Snippets Groups Projects
user avatar
Lars Kruse authored
33a85bdb
History

grouprise

grouprise is a platform destined to encourage and enable social action and solidarity in the context of your city. Bildet Banden!

Quick Setup

For administrators

You may want to install the latest release or a snapshot build as deb packages.

For developers

The local source approach described below is suitable for developing the code of grouprise itself. The system in docker approach is helpful for developing integrations with other packages (e.g. a mail server or matrix).

Local Source

  1. You will need virtualenv, node, python3, flake8, pip and make to get started. If you have all of those, you may proceed :). Otherwise see Dependencies below.
  2. Run make app_run and wait until you see something like Starting development server at http://127.0.0.1:8000/
  3. Visit http://127.0.0.1:8000/

System in Docker

  1. generate and run a docker image containing a prepared Debian Buster image. It is ready for installing grouprise's deb packages from grouprise's apt repository or for testing locally built deb packages:
make run-docker-deb-prepared
  1. install released packages from the official apt repository or locally built deb packages:
# a) install released grouprise packages
apt install grouprise
# b) install locally built packages
dpkg -i /app/build/debian/grouprise_*.deb

Dependencies

Depending on your distribution (we assume you’ll be using something like Linux here) the build dependencies of this project will be available via your package manager.

Debian

apt install make nodejs npm python3 virtualenv python3-flake8 python3-pip python3-sphinx python3-recommonmark python3-xapian

Arch Linux

pacman -Sy make nodejs npm python python-virtualenv flake8 python-pip python-sphinx python-recommonmark python-xapian

Local Settings

Your local Django settings will be located in grouprise.yaml. Run make app_local_settings to create a default configuration.

Database Setup

The preconfigured database is a local sqlite file. For production deployment you should use a database server.

PostgreSQL

The following statement creates a suitable database including proper collation settings:

CREATE USER grouprise WITH PASSWORD 'put random noise';
CREATE DATABASE grouprise WITH ENCODING 'UTF8' LC_COLLATE='de_DE.UTF8' LC_CTYPE='de_DE.UTF8' TEMPLATE=template0 OWNER grouprise;

The command above requires the locale de_DE.UTF8 in the system of the database server.

Production deployment

We recommend to use the provided deb package. It contains an nginx and UWSGI configuration.

See also deb.md.

Contributing

The source code of grouprise itself is released under the AGPLv3, which is included in the LICENSE file.

See CONTRIBUTING.md