Webis in Docker

Due to popular demand we decided to provide Docker images for Webis. However, you should consider installing Webis using Debian packages.

This guide expects you to be familiar with Docker and Docker compose.

Registry login

To use images referenced in this document you need to log in to our docker registry:

docker login -u customer -p Aen1ieB5sh docker.acrobits.net

Quickstart

Create a directory webis and inside it create a file called docker-compose.yml with the following content:

version: "2"

services:
    webisnginx:
        image: "docker.acrobits.net/releases/webisnginx"
        volumes:
            - "/webisdata/certs:/certs"
        ports:
            - "443:443"
        network_mode: "host"
        logging:
            driver: "json-file"
            options:
                max-size: 20m
    webis:
        image: "docker.acrobits.net/releases/webis"
        volumes:
            - "/webisdata/settings:/etc/acrobits/webis/settings"
        network_mode: "host"
        ports:
            - "10000-65535/udp:10000-65535/udp"
            - "4280:4280"
        logging:
            driver: "json-file"
            options:
                max-size: 20m

Then run

docker-compose up -d

This will start up webis and nginx as its TLS proxy. It will also create some configuration files in /webisdata directory.

Configuration

If you start Webis as described above, a new directory /webisdata will be created and populated with several files which you can replace. Before editing or replacing those files, stop the containers if they are running.

docker-compose stop

The files in /webisdata/certs are TLS key and certificates for TLS. If none are present, self-signed certificate is generated. You should replace them with your own certificates.

The file /webisdata/settings/common.xml is a webis configuration file. If the file does not exist, it is generated from a template with generated or guessed parameters:

  • Ip and PublicIP in RtpProxy/Addresses/Address node. Those are guessed (from system routing information and using ifconfig.co external service) . You should check if they are correct.
  • Md5NameRealmPassword in HttpServer/DigestAuthentication/User node. The password is used to access webis administrative interface. It is not stored in the file. It is outputed to the log when it is generated. To see it, run docker logs webis_webis_1 after starting webis for the first time.