This is the documentation on the deployment of Debexpo.


Here are the basic facts:

Shell account(s)

Do not make local changes. To deploy a new version, follow those steps:

If you have access to the expo account, I think that will be all you need to maintain the service. If you need sudo for something, do ping the current maintainers.

configuration files

Configuration files are found into /home/expo/debexpo/debexpo/settings. The following files are loaded:

Make all the changes to

Additionally, two private files are used to store credentials and secret tokens. Those files are not tracked in the repository (only available locally).


We use Postgres as the database for storing debexpo data.


Backup are run daily via /etc/cron.d/backup, invoking /root/scripts/ They are stored in /root/backup. Retention period is 5 days.

The backup include a copy of /var/lib/debexpo/ and the database.

A copy is sent to a personal server (contact Baptiste Beauplat to restore the copy).


We use dependencies packaged in Debian to run the application. The meta-package is kept up-to date with the application requirements.

A copy of the package is retained in /root/m.d.n-pkg.

Getting access

If you want access to deploy code, the process is pretty simple:

Right now, the following people have shell access:

We also hang out on #debexpo on

Automatic test suite running with Salsa CI

On creating or merging a merge request, the Salsa CI is automatically triggered. It will check the coding style (flake8), the database migrations, the translations and run the actual test suite. Make sure everything passes before merging or deploying the code.

You can see pipelines results at