Skip to content
v26.3

Backup & Restore

Regular data backup is important. DiKAS offers both manual and automatic backup.

Creating a Backup

Via the User Interface

Admin → Settings → System → Backup

  1. Click "Create Backup"
  2. DiKAS creates a ZIP file containing:
  3. *.jsonl.br — All documents (Brotli-compressed)
  4. attachments/ — Images and file attachments
  5. Download the ZIP file and store it safely

Via the API

POST /api/v1/backup/create
Authorization: Bearer eyJ...

What is Included in the Backup?

Data Included?
Articles and groups Yes
Customers and credit Yes
Staff Yes
Tables and reservations Yes
Receipts and end-of-day reports Yes
Expenses with receipts Yes
Settings Yes
Vouchers Yes
Invoices and dunning notices Yes
Workshop orders Yes
Disco data Yes
Article images Yes
Customer documents Yes

Restore

Full Restore

Admin → Settings → System → Restore

  1. Upload ZIP file (max. 500 MB)
  2. Click "Restore All"
  3. A progress bar shows the status
  4. After completion: log in again

Warning: A full restore overwrites all current data!

Selective Restore

You can choose which data to restore:

Category Contents When useful?
Articles Articles, groups, option templates Reset menu
Customers Customers, transactions Restore customer data
Staff Employees, time tracking Staff records
Tables Tables, groups, reservations Floor plan
Settings Configuration, printers, templates After reinstallation
Revenue data Receipts, expenses, end-of-day reports Historical data
Disco Guests, admission groups Disco module
Workshop Orders Workshop module

Tip: Use selective restore to, for example, import only the menu from a backup without losing the current POS data.

Restore Process

Upload → Extract → Category filter → Insert documents → Restore attachments
                                    Progress via SignalR
                                    (Real-time bar in the browser)

For production systems, we recommend an automatic backup:

Via Cron Job (Linux)

# Daily backup at 4:00 AM
0 4 * * * curl -s -X POST http://localhost:5015/api/v1/backup/create \
  -H "Authorization: Bearer $TOKEN" \
  -o /backup/dikas_$(date +\%Y\%m\%d).zip

Back Up Docker Volume

# Back up CouchDB data
docker run --rm -v couchdb-data:/data -v /backup:/backup \
  alpine tar czf /backup/couchdb_$(date +%Y%m%d).tar.gz /data

Database Migration

From CouchDB to SQLite/SQL Server

If you want to switch the database:

POST /api/v1/couch-to-sql/migrate
Content-Type: application/json

{
  "couchDbUrl": "http://localhost:5984",
  "couchDbUser": "admin",
  "couchDbPassword": "password"
}

All data is transferred from CouchDB to the SQL database. Attachments are copied to the file system.


Next Step

TSE & Tax Office — KassenSichV compliance