grouprise is a platform destined to encourage and enable social action and solidarity in the context of your city. Bildet Banden!
You may want to install the latest release or a snapshot build as deb packages.
grouprise has become an application with a lot of integrations into other services like mail and matrix servers and depends on other services like task queues in order to work properly.
If you are just starting out, we recommend to use docker-compose to jump-start your development environment.
Once you’ve got to know the intricacies and details of grouprise you might feel comfortable to run grouprise with more low-level tooling, but feel free to point out shortcomings in our docker-compose setup, so we can fix them.
If you’re running Linux or BSD, your favorite distribution will most likely have a package for docker-compose. In case it doesn’t or if you use a different operating system like Windows or macOS please refer to the docker-compose install guide to get it up and running.
First create a copy of the default configuration. This only needs to be done once.
cp grouprise-dev.conf.d/000-common.yaml grouprise.conf.d/
After that you should be able to start a development environment by executing the following command:
make dev
Bootstrapping the environment will take quite some time on your first start, but eventually you’ll see Running in the output and the output itself becomes more colorful once the individual services are started.
A short while after that you can visit http://localhost:8008
in your browser
of choice.
Things are not working? Come join us in our grouprise-dev chatroom!
Please note: If you want to make changes to the grouprise configuration you
can create a new file in grouprise.conf.d
like grouprise.conf.d/100-local.yaml
.
Be advised that any settings that involve file paths like data_path
are evaluated
within the docker-compose setup. /home/you/grouprise
or any other local path
you might configure won’t work out of the box. You can make them work by learning
about docker-compose volumes.
- You will need virtualenv, node, python3, flake8, pip and make to get started. If you have all of those, you may proceed :). Otherwise, see Low-level tooling dependencies below.
- Run
make assets
if you plan on working on the frontend - 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/
Your local Django settings will be located in grouprise.yaml
.
Run make app_local_settings
to create a default configuration.
PS: Don’t run make app_local_settings
if you’re using docker-compose!
The preconfigured database is a local sqlite file. For production deployment you should use a database server.
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.
We recommend to use the provided deb package. It contains an nginx and UWSGI configuration.
See also deb.md.
The source code of grouprise itself is released under the AGPL version 3 or later, which is included in the LICENSE file.
See CONTRIBUTING.md
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.
apt install make nodejs npm python3 virtualenv python3-flake8 python3-pip python3-sphinx python3-recommonmark python3-xapian
pacman -Sy make nodejs npm python python-virtualenv flake8 python-pip python-sphinx python-recommonmark python-xapian