Self-managed Server Docker Deployment

This guide is intended for IT professionals responsible for deploying ActivityInfo Self-managed Server as a Docker container. This guide assumes you are familiar with deploying services with Docker.


The ActivityInfo Self-managed server Docker Image is available on DockerHub and is based on a lean, secure Alpine Linux base image.


To start an ActivityInfo server immediately, you can run the following:

docker run -d -p 8081:8081 -v activityinfo:/data activityinfo/activityinfo

This will bind ActivityInfo's web server to the host port 8081 and create a new Docker volume for ActivityInfo's configuration and database files.

You can now access ActivityInfo by navigating to http://localhost:8081, where you will be prompted to create the first administrator user account.

Configuration through the user interface

You can follow the instructions in the Configuration guide to configure Email delivery and Single Sign-On through the web-based interface.

Automated configuration

ActivityInfo reads its configuration from the config.ini file in the data volume. You can
automate deployment creating a volume and writing a config.ini. See the Configuration file reference.

SSL termination

ActivityInfo must be served over an HTTPS connection in order to support all features, including offline-availability. Where the HTTPS connection is terminated depends on how you have designed your production environment.

The ActivityInfo Docker image will listen for HTTPS on port 8443, and you can configure ActivityInfo to automatically obtain and renew SSL Certificates through Let's Encrypt. Read more in our SSL certificate guide.

Alternatively, if you are using a load balance or a reverse-proxy to terminate the SSL connection, you should enable HTTPS Proxy Mode.


Traefik is a "is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy." Among other things, Traefik can automatically discover applications like ActivityInfo that you have deployed with Docker, and automatically configure routing and an SSL certificate.

The following Docker compose file prepares ActivityInfo as a service for deployment, and enables HTTPS Proxy mode so that ActivityInfo knows that Traefik is handling SSL termination:

version: "3"
    external: true

    image: activityinfo/activityinfo:4.0.15
      - activityinfo:/data
      - traefik.http.routers.activityinfo.rule=Host(``)
      - traefik.http.routers.activityinfo.tls=true
      - traefik.http.routers.activityinfo.tls.certresolver=lets-encrypt
      - traefik.port=80
      - web