Download
difuzio ships as Debian packages, for Debian 13 and Ubuntu 24.04. A signed
package repository is published at deb.difuzio.org, so updates then arrive
through apt upgrade like the rest of the system.
Which package to install
- difuzio-sqlite The server built with the SQLite backend, for the light profile. The package creates the database, applies the schema and starts the services: there is nothing to prepare beforehand.
- difuzio-mariadb The server built with the MariaDB backend, for the full profile. It enables nothing until you have created the database and its accounts.
- difuzio-webui The web administration console. Independent of both architecture and backend, it installs alongside either server package.
Both server packages install the same executable: they exclude one another, and the backend choice is not replayed later, since a database cannot be converted from one to the other. The two deployment profiles are described on the home page.
Server packages are built for amd64 and arm64, the console for every architecture. If yours is not published, building from source remains an option.
Install from the package repository
The repository is signed, and its key has authority over nothing else:
Signed-By forbids that key from validating anything coming from elsewhere.
apt install ca-certificates curl
curl -fsSL https://deb.difuzio.org/difuzio-archive-keyring.asc \
-o /usr/share/keyrings/difuzio-archive-keyring.asc
# On Ubuntu 24.04, replace trixie with noble.
cat > /etc/apt/sources.list.d/difuzio.sources <<EOF
Types: deb
URIs: https://deb.difuzio.org
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/difuzio-archive-keyring.asc
EOF
apt update
apt install difuzio-sqlite difuzio-webui
For the full profile, replace difuzio-sqlite with difuzio-mariadb once the
database is ready: the MariaDB package deliberately enables no service until the
connection has been configured.
Check the key and the origin
The key comes over HTTPS from the same domain as the packages. Rather than take that on faith, compare its fingerprint with the one published here, served by a different domain:
gpg --show-keys --with-colons /usr/share/keyrings/difuzio-archive-keyring.asc \
| awk -F: '/^fpr:/ { print $10; exit }'
That command must print exactly:
F9E7E311A073D8845B5F29E59B0D91ACFFACBC6A
Once the repository is declared, apt tells you where what it installs comes
from:
apt policy difuzio-sqlite
Build from source
The public repository holds everything needed to rebuild the very same packages. Building requires network access and a Go 1.23 or newer toolchain.
git clone https://inligit.fr/cap-rel/difuzio.git
cd difuzio
make deb
The three packages land in dist/. They install with
apt install ./difuzio-sqlite_<version>_amd64.deb, without going through the
repository.
Next
- Installation - first administrator, first domain, wiring the mail server in.
- Operator manual - full configuration, backups, monitoring, upgrades (in French).
- Source code - public repository, issues and contributions.