EEA & Eionet documentation hub

Browse documentation for IT-systems used by the European Environment Agency and the Eionet network.



FLIS is a website based on Django ( and Wagtail CMS (


First time installation

Clone the repository

$ cd /var/local/deploy
$ git clone
$ cd flis

During the first time deployment, create the secret environment file

$ cp .env.example .env

Enter production ready variables into .env file:

$ vim .env

Follow import existing data if you need to import existing data

Start Flis services as a daemon:

docker-compose -f up -d

Import existing data

If you already have a Flis installation than follow the steps below to import the media files and postgres db into the data containers.

NOTE: Before following these steps, make sure that containers have been launched via:

docker-compose -f up -d

Then you will need container ids for django and postgres services, you can get them easily by running:

docker-compose ps

Your output may differ but in our case we got: djflis_django_1 as a Django container name (django_container_name) and djflis_postgres_1 as a Postgres container name (postgres_container_name).

Import initial media files:
  1. Unzip contents of media.tar.gz files into any location (<initial_media_dir_path>) on your docker host:

    mkdir media && tar vfxz media.tar.gz -C media

  2. Copy its contents into running django container:

    docker cp media :/app/media

Import initial database:
  1. Copy database.pqsl.gz into any location (<initial_db_file_path>) on your docker host and then copy its contents into running postgres container:

    docker cp database.pqsl.gz <postgres_container_name>:/backups
  2. Restore database from backup file:

    docker-compose run postgres restore database.psql.gz

Running backups

To create a backup, run:

    docker-compose run postgres backup

To list backups, run:

    docker-compose run postgres list-backups

To restore a backup, run:

    docker-compose run postgres restore database.psql.gz

To copy the files from the running Postgres container to the host system:

    docker cp <containerId>:/backups /host/path/target

Email setup

The CMS uses email server for three main tasks:

  • Exceptions reporting
  • Password reset messages
  • Contact form messages

Email server settings can be defined via the following environment variables:

  • EMAIL_HOST, set it to your SMTP server address, default value is “localhost”
  • EMAIL_PORT, set it to your SMTP server port, default value is “25”
  • DEFAULT_FROM_EMAIL, set it to your “no-reply” email address, default is “no-reply@localhost”

Contact form recipients list

In order to get emails sent through the contact form you need to set a recipient for such emails. To do so, log in admin panel and go to Settings > Contact form settings and input a single or a comma-separated list of email addresses.

Build for production

The image you need for production is built automatically at when a change is pushed to GitHub. To ensure that you always have an immutable build for produuction you create a new tag in GitHub.

$ version=1.0.0
$ git tag -a $version -m "Release $version"
$ git push origin $version

Edit this page