Quickstart

If you don’t have already, install docker.

Next take this docker-compose file and adapt the environment settings that need to be changed.

Listing 1 docker-compose.yml
services:
  db: # this service name must not be changed!
    image: mariadb:latest
    container_name: eonvelope-db
    volumes:
      - /path/to/eonvelope/mysql:/var/lib/mysql
    environment:
      - MARIADB_DATABASE=email_archive_django # must match web:DATABASE_NAME
      - MARIADB_USER=user # must match web:DATABASE_USER
      - MARIADB_PASSWORD=passwd # must match web:DATABASE_PASSWORD
      - MARIADB_ROOT_PASSWORD=example
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      start_period: 20s
      start_interval: 5s
      interval: 1m
      timeout: 5s
      retries: 3

  web:
    image: dacid99/eonvelope:latest
    container_name: eonvelope-web
    volumes:
      - /path/to/eonvelope/archive:/mnt/archive
      - /path/to/eonvelope/log:/var/log/eonvelope
    ports:
      - 1122:443
    environment:
      - DATABASE=email_archive_django # must match db:MARIADB_DATABASE
      - DATABASE_USER=user # must match db:MARIADB_USER
      - DATABASE_PASSWORD=passwd # must match db:MARIADB_PASSWORD
      - DJANGO_SUPERUSER_PASSWORD=rootqwertz123
      - SECRET_KEY='PLEASE_REPLACE_ME_WITH_THE_OUTPUT_OF_A_STRONG_RANDOM_GENERATOR!'
      - ALLOWED_HOSTS=localhost,eonvelope.mydomain.tld # all allowed host URLs separated by ,
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

For security reasons please change all passwords and the SECRET_KEY. Don’t forget to add your server address (internal-ip and/or domain-based) to the ALLOWED_HOSTS list.

You also must add the IP or domain that Eonvelope will be available at to the ALLOWES_HOSTS list.

If your device is low on compute power and system resources, you may prefer to use the slim version of the docker-compose file instead. This will only run the core of the application in the docker container, excluding some additional components mostly aimed at development.

Now you can start the docker stack with docker compose up -d. Or you use a container management platform like portainer, dockge or many others.

After the container is up you can access the webapp at https://<your_server_ip>:1122, or https://localhost:1122/ if you host on your local machine.

Important

Make sure that the url starts with https://, as Eonvelope comes with a default SSL certificate.

The credentials for the default admin account are admin and the value of DJANGO_SUPERUSER_PASSWORD you set in the docker-compose file. Using this account you can then create the user accounts and configure the instance. If you want users to sign up themselves, set the docker environment variable REGISTRATION_ENABLED to True.

Further Reading

For full information about the administration of the instance and how to create user accounts check out the admin instructions.

For a detailed overview of the available settings see the configurations documentation.

If you need help with how to use the application refer to the user manual.

There are other ways you can run Eonvelope besides docker, please see the installation guide for details.

In case you encounter a problem or have further questions, check the FAQ.