Skip to content

Backup, Upgrade & Maintenance

What to back up

Data Where it lives
All helpdesk data pgdata Docker volume (PostgreSQL)
NetManager data nm-pgdata volume (own PostgreSQL)
Your configuration .env file (keep it safe — it contains your secrets)
Uploaded files uploads volume/directory in the stack
cd it-helpdesk
docker compose exec db pg_dump -U "$POSTGRES_USER" "$POSTGRES_DB" | gzip > \
  /backup/nexadesk-$(date +%F).sql.gz

Restore into a fresh stack with docker compose exec -T db psql -U <user> <db> < dump.sql.

Upgrading

  1. Back up first (above).
  2. Extract the new bundle over the old directory (your .env is preserved — the bundle never contains one).
  3. Rebuild and restart:
    docker compose build api
    docker compose up -d
    
  4. Database migrations run automatically when the API starts.

Routine operations

# status of the whole stack
docker compose ps

# logs (api is where the action is)
docker compose logs -f api
docker compose logs worker    # email ingestion / background jobs
docker compose logs beat      # scheduled automations

# restart just the api (config change, stuck state)
docker compose restart api

# stop / start everything (data persists in volumes)
docker compose down
docker compose up -d

Never docker compose down -v in production

The -v flag deletes the volumes — that's your database.

Health checks

  • GET /api/health returns {"status": "ok"} when the API is up
  • docker compose ps shows per-container health