Skip to content
Snippets Groups Projects

Dockerimage for Quasselcore

Supported architectures

Architecture Tags
x86-64 0.13.1, latest
aarch64 0.13.1-aarch64, aarch64
armhf 0.13.1-armhf, armhf

Configuration

CONFIG_DIR

Specify the directory holding configuration files, the SQlite database and the SSL certificate.

Default: /config

QUASSEL_LISTEN

The address(es) quasselcore will listen on.

Default: ::,0.0.0.0

QUASSEL_PORT

The port quasselcore will listen at.

Default: 4242

NORESTORE

Don't restore last core's state.

Default: false

STRICT_IDENT

Use users' quasselcore username as ident reply. Ignores each user's configured ident setting.

Default: false

IDENT_ENABLED

Enable internal ident daemon.

Default: false

IDENT_LISTEN

The address(es) quasselcore will listen on for ident requests. Same format as QUASSEL_LISTEN. Only meaningful with IDENT_ENABLED.

Default: ::1,127.0.0.1

IDENT_PORT

The port quasselcore will listen at for ident requests. Only meaningful with IDENT_ENABLED.

Default: 10113

OIDENTD_ENABLED

Enable oidentd integration. In most cases you should also enable STRICT_IDENT.

Default: false

OIDENTD_CONF_FILE

Set path to oidentd configuration file.

SSL_REQUIRED

Require SSL for remote (non-loopback) client connections.

Default: false

SSL_CERT_DATA

Specify the path to the SSL certificate.

SSL_CERT_FILE

Specify the base64 encoded data of the SSL certificate.

SSL_KEY_DATA

Specify the path to the SSL key.

SSL_KEY_FILE

Specify the base64 encoded data of the SSL key.

METRICS_ENABLED

Enable metrics API.

Default: false

METRICS_LISTEN

The address(es) quasselcore will listen on for metrics requests. Same format as QUASSEL_LISTEN.

Default: ::1,127.0.0.1

METRICS_PORT

The port quasselcore will listen at for metrics requests. Only meaningful with METRICS_ENABLED.

Default: 9558

LOGLEVEL

Supports one of Debug|Info|Warning|Error; default is Info.

Default: Info

DEBUG_ENABLED

Enable logging of all SQL queries to debug log, also sets LOGLEVEL to Debug automatically

Default: false

DEBUG_IRC_ENABLED

Enable logging of all raw IRC messages to debug log, including passwords!
In most cases you should also set LOGLEVEL to Debug

Default: false

DEBUG_IRC_ID

Limit raw IRC logging to this network ID. Implies DEBUG_IRC_ENABLED.

DEBUG_IRC_PARSED_ENABLED

Enable logging of all parsed IRC messages to debug log, including passwords!
In most cases you should also set LOGLEVEL to Debug

Default: false

DEBUG_IRC_PARSED_ID

Limit parsed IRC logging to this network ID. Implies DEBUG_IRC_PARSED_ENABLED.

CONFIG_FROM_ENVIRONMENT

Load configuration from environment variables.

Default: false

DB_BACKEND

Specify the database backend. Allowed values: SQLite or PostgreSQL

In case SQLite is used, the database will be stored by default in /config/quassel-storage.sqlite (affected by CONFIG_DIR)

Default: SQLite

DB_PGSQL_USERNAME

If the backend is PostgreSQL, specify the database user username

Default: quassel

DB_PGSQL_PASSWORD

If the backend is PostgreSQL, specify the database user password

DB_PGSQL_HOSTNAME

If the backend is PostgreSQL, specify the hostname of the database

Default: localhost

DB_PGSQL_PORT

If the backend is PostgreSQL, specify the port of the database

Default: 5432

DB_PGSQL_DATABASE

If the backend is PostgreSQL, specify the database of the PostgreSQL cluster

Default: quassel

AUTH_AUTHENTICATOR

Specify the authenticator backend. Allowed values: Database or Ldap

Default: Database

AUTH_LDAP_HOSTNAME

If the authenticator is Ldap, specify the hostname of the directory server

Default: ldap://localhost

AUTH_LDAP_PORT

If the authenticator is Ldap, specify the port of the directory server

Default: 389

AUTH_LDAP_BIND_DN

If the authenticator is Ldap, specify the bind dn

AUTH_LDAP_BIND_PASSWORD

If the authenticator is Ldap, specify the bind password

AUTH_LDAP_BASE_DN

If the authenticator is Ldap, specify the base dn

AUTH_LDAP_FILTER

If the authenticator is Ldap, specify the filter query

AUTH_LDAP_UID_ATTRIBUTE

If the authenticator is Ldap, specify the attribute to be used as userid

Default: uid

Stateful usage (with UI Wizard)

By default, the core will be run in stateful mode.

If you use the core in this mode, you’ll have to make sure /config is stored on a volume.

Example usage:

docker run \
  -v /path/to/quassel/volume:/config \
  k8r.eu/justjanne/quassel-docker:v0.13.1

Example: Stateless usage (minimal)

docker run \
  -v /path/to/quassel/volume:/config \
  -e CONFIG_FROM_ENVIRONMENT=true \
  -e DB_BACKEND=SQLite \
  -e AUTH_AUTHENTICATOR=Database \
  k8r.eu/justjanne/quassel-docker:v0.13.1

Example: Stateless usage (common)

docker run \
  -e STRICT_IDENT=true \
  -e IDENT_ENABLED=true \
  -e IDENT_PORT=10113 \
  -e IDENT_LISTEN=::,0.0.0.0 \
  -e SSL_REQUIRED=true \
  -e SSL_CERT_FILE=/tls.crt \
  -v /path/to/certificates/tls.crt:/tls.crt \
  -e SSL_KEY_FILE=/tls.key \
  -v /path/to/certificates/tls.key:/tls.key \
  -e CONFIG_FROM_ENVIRONMENT=true \
  -e DB_BACKEND=PostgreSQL \
  -e AUTH_AUTHENTICATOR=Database \
  -e DB_PGSQL_USERNAME=quassel \
  -e DB_PGSQL_PASSWORD=thesamecombinationasonmyluggage \
  -e DB_PGSQL_HOSTNAME=postgresql.default.svc.cluster.local \
  -e DB_PGSQL_PORT=5432 \
  -e DB_PGSQL_DATABASE=quassel \
  k8r.eu/justjanne/quassel-docker:v0.13.1

Kubernetes

You can find a demo configuration file for kubernetes in kubernetes-template.yaml

SSL

You can use the core with SSL, in this case you should either put a quasselCert.pem file with the full certificate chain and private key into the /config volume, or you can use the SSL_CERT_FILE and SSL_KEY_FILE arguments to use separate key and certificate.

Ports

Per default, the container will listen on the port 4242 for connections. This can be configured with QUASSEL_PORT and QUASSEL_LISTEN.

If IDENT_ENABLED is set, the ident daemon will additionally listen on 10113. You can configure this with IDENT_PORT. This by default only listens on localhost, which obviously will cause issues when used in a container like this, so make sure to configure IDENT_LISTEN.
You’ll also want to bind this to port 113 on the host, as IRC networks will expect to find the ident daemon on that port.