Public | Automated Build

Last pushed: 2 months ago
Short Description
Backend for ID-Server BEO/Televotia
Full Description


The BEO/Televotia backend does the following:

  • Download the members mail addresses, voting rights and identity verifcation from the CiviCRM
  • Send new members their invitations to Televoita via email
  • Synchronize members and theair voting rights and identity verifcation with the ID server


You need to prepare:

  • A docker host
  • A Postgres database server

You need to have:

  • An X509 client certificate for the ID server API complete with CA-certificate, certificate and private key
  • An OpenPGP private/public key pair from the ID server and the public key of the ID server

You need to know:

  • The ID server's frontend URL denoted id-server.url
  • The ID server's API URL denoted id-server-api.url
  • The mail address correpsonding to the OpenPGP public key of the ID server denoted as _name@id-server.url_


Create databases

Create two database for the members and the invitations. You may use two seperate users. You may adapt the script for this.

Data Directory

The data directory /data/ must contains the following:

  • The config file at /data/ekklesia.ini
  • The PGP keyring at /data/gnupg/
  • The X509 client certificate and the corresponding key

Config file

The config file /data/ekklesia.ini must be adapted from ekklesia.ini.template as follows:

  • In both the members and the invitations section:
  • The ID server API URL
  • Paths to the X509 client certificates and including private key
  • The database connection for the corresponding database including credentials
  • The SMTP server address and credential
  • The GPG sender address and passphrase

The data directory must be inserted into the docker container at /data

Environment variables

You must set the following environment variables when running the docker container:

  • CIVI_API_URL : complete URL to the REST interfaces of your CiviCRM
  • CIVI_SITE_KEY : site key for your CiviCRM
  • CIVI_API_KEY : API key for your CiviCRM
  • SMTP_SERVER_ADDRESS : Address for an SMTP server
  • SMTP_SERVER_PORT : Port for the SMTP server
  • SMTP_USERNAME : Username to log on to the SMTP server for sending
  • SMTP_PASSWORD : Password for this user

Run Docker Container

There is a template to facilitiy running the container.

Push service

There is also a push service to update users on demand when they register with the ID server.

The push service is run by just starting the same docker image with the script.

Docker Pull Command
Source Repository