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
- 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.
- Run
make app_run
and wait until you see something likeStarting development server at http://127.0.0.1:8000/
- Visit http://127.0.0.1:8000/
System in Docker
- 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
- 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