punchify.Documentation Deutsch punchify.app

Updates and backups

Updates

Update Punchify with two commands in the installation folder:

docker compose pull
docker compose up -d

The database is migrated automatically on start. What changed is listed in the changelog of each version. To update in a controlled way, set a fixed version in .env (PUNCHIFY_VERSION=0.10.0) and raise it deliberately.

Take a fresh backup before an update (see below).

Backups

Punchify backs up the entire database every night at 02:30 (time zone of the instance). Backups are encrypted with AES-256-GCM; the key is derived from PUNCHIFY_SECRET_KEY. The last 14 are kept (PUNCHIFY_BACKUP_KEEP).

The files are in the container under /data/backups (Docker volume punchify-data). Copy them to another system regularly – a backup on the same server does not protect against that server failing.

List backups and create one manually:

docker compose exec app python3 -m punchify.backup list
docker compose exec app python3 -m punchify.backup create

Copy the backups to your machine (example):

docker compose cp app:/data/backups ./punchify-backups

Restoring

Restoring replaces all data of the installation with the state of the backup.

docker compose exec app python3 -m punchify.backup restore /data/backups/<file name>
docker compose restart app

PUNCHIFY_SECRET_KEY must be the same as when the backup was created. Copy a backup from another server into the container first with docker compose cp <file> app:/data/backups/.

Moving to a new server

  1. Create a backup on the old server and download it.
  2. Install Punchify on the new server – with the same .env (in particular PUNCHIFY_SECRET_KEY).
  3. Copy the backup into the container and restore it (see above).
  4. Point DNS to the new server.

Logs

docker compose logs app --tail 100
docker compose logs caddy --tail 100

Version: Punchify 0.10.1 · Found a mistake? Let us know