1 Docker installation
chapeau edited this page 2 years ago

This page describes how to install Re2o with the new docker-based installation added in Re2o 3.0. It is the only supported way from 3.0 onward.

Prerequisite

You will need a server with at least 1 CPU and 2Go of RAM (this is a rough estimate, precise benchmarks would be welcome). Any OS with docker support can theoretically work, but only Linux has been tested. Only x86 architecture is currently supported.

Installation

Install docker and docker-compose by following specific instruction for your system.

Clone the repository on the VM. The docker-compose.yml file is provided as an example, and should be a good start point. You will have to change the environment variables to adapt to your situation. Please note that all superuser informations are only used for the first start, and that you can safely remove them (and especially the password) afterward.

Re2o currently support MySQL and Postgres. We recommend Postgres, but the choice is yours.

Choose the `target` for the docker image build depending on your needs:

  • postgres, mysql: if you don't need ldap support
  • postgres-ldap, mysql-ldap: if you need re2o to administrate a LDAP server

You will then have to create re2o/settings_local.py, by copying re2o/settings_local.example.py. You will need to

  • set a secret key and an AES key with high entropy
  • fill ALLOWED_HOST with the list of URL your server will be accessible from
  • set your timezone
  • set database credentials
  • set ldap credentials if you use one

If you need optional apps, you will have to add them in the tuple OPTIONNAL_APPS_RE2O. Currently, some optional apps are distributed with re2o and can be activated immediately:

  • api, for api support
  • radius, for the new api-based radius support (will need api)
  • ldap_sync, for ldap synchronization support
  • tickets
  • deposits

Other settings can be changed in this file, but default ones should work out of the box.

Once this is done, you can run re2o by running `docker compose up`, and it will listen on port 80.

Production considerations

For production use, you should never run Re2o without another reverse proxy in front of it, which will be the TLS endpoint. As passwords and banking informations will be manipulated by Re2o, never expose Re2o on the internet on HTTP.