Maintenance¶
Once you have installed pretalx, you’ll start thinking about maintaining your installation. The following guide assumes that you perform general system maintenance and monitoring. So please: keep your servers up to date on security updates. Keep all non-public ports closed. Follow best practices.
Updates¶
Warning
While we try hard not to issue breaking updates, please perform a backup before every upgrade.
This guide assumes that you followed the Installation documentation.
We try to make upgrades as painless as possible. To this end, we provide Release Notes and our release blog post. Please read them – they contain important upgrade notes and warnings. Also, make sure you have a current backup.
Next, execute the following commands in the same environment as your installation. This may be your pretalx user, or a virtualenv, if you chose a different installation path.
These commands update pretalx first, then the database, then the static files. Once you have executed these steps without seeing any errors, do not forget to restart your service(s):
$ pip3 install --user --upgrade-strategy eager -U pretalx
$ python -m pretalx migrate
$ python -m pretalx rebuild --npm-install
# systemctl restart pretalx-web
# systemctl restart pretalx-worker # If you’re running celery
Installing a fixed release¶
If you want to upgrade pretalx to a specific release, you can pin the version
in the pip command. Substitute pretalx
with pretalx==1.2.3
in the pip
install line above like this:
$ pip3 install --user --upgrade-strategy eager pretalx==1.2.3
Installing a commit or a branch version¶
If you’re sure that you know what you’re doing, you can also install a specific
commit or branch of pretalx. You can replace main
with a short or long
commit ID for a specific commit:
$ pip3 install --user --upgrade-strategy eager -U "git+https://github.com/pretalx/pretalx.git@main#egg=pretalx"
Backups¶
There are two things which you should create backups of:
- Database
Your SQL database (SQLite or PostgreSQL). This is critical and you must always always create automatic backups of your database. There are tons of tutorials on the internet on how to do this, and the process depends on the choice of your database. For PostgreSQL, see the
pg_dump
tool. For SQLite, it is sufficient to create a backup of the database file. You should create a cronjob or timer that does the backups for you on a regular schedule. Do not forget to add another one to rotate your backups.- Data directory
The data directory of your pretalx configuration may contain files that you want to back up. If you did not specify a secret in your config file, back up the
.secret
text file in the data directory. If you lose the secret, all active user sessions, password reset links will be invalid. You should backup themedia
subdirectory of the data directory. It contains all user-uploaded and generated files. This includes files you could in theory regenerate (talk and speaker images for social media, html exports), but also files that you or your users would need to re-upload (event logos, talk pictures, etc.).
There is no need to create backups of the redis database, if you use it. We only use it for non-critical, temporary or cached data.