Container image for the Quassel IRC core daemon (quasselcore).
Quassel is a distributed IRC client: this image runs only the core — the always-on server that maintains IRC connections. You connect with a separate Quassel desktop client; no GUI or client components are included in the image.
| Included | Not included |
|---|---|
quasselcore daemon (Alpine quassel-core package) |
Quassel desktop/Qt client |
| Headless Qt/SQLite/PostgreSQL runtime libraries | s6, openrc, or other process managers |
openssl (cert bootstrap only) |
PUID/PGID mapping machinery |
The image is intentionally minimal: Alpine 3.24, the distro quassel-core package (0.14.0), a small entrypoint script, and nothing else.
- Registry:
registry.rich0.org/public/quassel-core(Zot, public anonymous pull) - Base: Alpine 3.24
- Ports:
4242/tcp(client),10113/tcp(ident, optional) - Config:
/config
docker pull registry.rich0.org/public/quassel-core:latest
# or pin a version
docker pull registry.rich0.org/public/quassel-core:0.15.0Public pulls do not require login.
- Container starts as user
quassel(UID/GID 1000). entrypoint.shchecks for/config/quasselCert.pem. If absent, it generates a self-signed TLS certificate.quasselcore --configdir /configis exec'd as PID 1.- State (SQLite database, config, certs) lives on the
/configvolume.
On first connection, use the Quassel desktop client to create an admin account and choose a storage backend (SQLite is typical for single-user setups).
docker run -d \
--name quassel-core \
-p 4242:4242 \
-v ./config:/config \
registry.rich0.org/public/quassel-core:latestEnsure the host directory (or PVC) is writable by UID 1000:
mkdir -p ./config
chown 1000:1000 ./config| Variable | Default | Description |
|---|---|---|
QUASSEL_CONFIG_DIR |
/config |
Directory passed to quasselcore --configdir |
RUN_OPTS |
(empty) | Additional arguments appended to the quasselcore command |
RUN_OPTS supports extra daemon flags, for example:
docker run -d \
--name quassel-core \
-e RUN_OPTS="--ident-daemon --ident-port 10113" \
-p 4242:4242 \
-p 10113:10113 \
-v ./config:/config \
registry.rich0.org/public/quassel-core:latest| Port | Description |
|---|---|
| 4242 | Quassel client protocol (primary) |
| 10113 | Ident protocol (optional; not started unless configured via RUN_OPTS) |
| Path | Description |
|---|---|
/config |
SQLite database, quasselcore.conf, TLS certificate, and all persistent state |
Built for non-root deployment (runAsUser/fsGroup 1000). When migrating from a prior root-owned deployment, existing PVC data must be ownership-corrected before cutover. See k8s-flux-2#355.
docker login registry.rich0.org -u ci-push -p '<password>'
./build-push.shOr build locally:
docker build -t registry.rich0.org/public/quassel-core:latest .Pins VERSION / QUASSEL_APK_VERSION and publishes to registry.rich0.org/public/quassel-core (:<version> and :latest).
Published tags: registry.rich0.org/public/quassel-core:0.15.0, :latest.
Quassel is licensed under GPL-2.0-or-later. See LICENSE.
This image was originally derived from linuxserver/docker-quassel-core. The current image is an independent rebuild and is not affiliated with or supported by LinuxServer.io.