We’ve opened the repository for our Docker-based Znuny deployment:
Get It Now!
What it is
A Docker Compose setup built around three containers that share a common base image:
- znuny-base: Contains the operating system, Perl modules, and Znuny source files. It is built once and reused.
- znuny-daemon: Runs the Znuny daemon.
- znuny-httpd: Runs Apache and manages the application lifecycle, including installation, upgrades, and add-on registration. This allows the daemon to restart independently without taking down the web tier.
What it does for you
- Version selection at build time: Pull a specific release, such as 7.3.1, or track nightly and LTS nightly builds. Currently avalible 7.3.5
- Automatic installation and upgrades: The first boot runs the installer. On later boots, if the image version differs from the installed version, the entrypoint determines whether it is a major, minor, or patch change and runs the required upgrade before Apache starts.
- Optional HTTPS via Traefik: A Compose override adds TLS termination with automatic Let’s Encrypt certificates.
- Console access: Run any znuny.Console.pl command through docker exec against the daemon container.
- Restart-trigger mechanism: Add-on installations and removals create a trigger file on a shared volume. A supervisor script detects it and restarts the daemon or gracefully reloads Apache. No full container restart is required.
Clone the repository and create your environment file:
Code: Select all
git clone https://github.com/znuny/znuny-docker.git
cd znuny-docker
cp .env.example .env- ROOT_PASS
- DB_USER_PASS
- ZNUNY_ADMIN_PASS
Code: Select all
docker compose up -d --buildWhere it stands
This is an early, experimental release. The upgrade path in particular is not fully hardened and may still require manual intervention in edge cases. We therefore do not recommend it for production deployments yet.
It is already well suited for:
- Local development
- Testing add-ons
- Trying nightly builds
Your feedback helps turn today’s experimental release into tomorrow’s production-ready deployment.