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
- Click "Create Backup"
- DiKAS creates a ZIP file containing:
*.jsonl.br— All documents (Brotli-compressed)attachments/— Images and file attachments- Download the ZIP file and store it safely
Via the API¶
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
- Upload ZIP file (max. 500 MB)
- Click "Restore All"
- A progress bar shows the status
- 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)
Automatic Backup (Recommended)¶
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