Add documentation for undocumented features (#172)
* documentation writing skill * visa sponsors page * overview * in progress board * settings * reactive resume section * database backups * workflows * post application tracking flow * manual tracking caveats * pricing section * pipeline run detalis * job search bar * keyboard shortcuts * bulk actions * no informal phrasing * formatting * build fix? * Update docs-site/docs/features/overview.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/versioned_docs/version-0.1.20/features/orchestrator.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/docs/features/visa-sponsors.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/docs/features/in-progress-board.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove link to page that don't exist --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
parent
1f929dfc7f
commit
390d03625e
@@ -0,0 +1,127 @@
|
||||
---
|
||||
id: database-backups
|
||||
title: Database Backups
|
||||
description: Configure, run, and restore JobOps database backups.
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
## What this covers
|
||||
|
||||
This page is about database backups:
|
||||
|
||||
- automatic backup schedule
|
||||
- manual backup creation/deletion
|
||||
- retention behavior
|
||||
- restore workflow
|
||||
- backup troubleshooting
|
||||
|
||||
## Backup behavior
|
||||
|
||||
JobOps stores backups in the same data directory as `jobs.db`.
|
||||
|
||||
Two backup types exist:
|
||||
|
||||
- **Automatic** backups
|
||||
- **Manual** backups
|
||||
|
||||
### Automatic backups
|
||||
|
||||
- Scheduled daily.
|
||||
- Filename format: `jobs_YYYY_MM_DD.db`
|
||||
- Schedule hour is configured in Settings (**UTC hour**).
|
||||
- Automatic retention is capped by `backupMaxCount`.
|
||||
- If today’s automatic backup already exists, JobOps skips creating a duplicate.
|
||||
|
||||
### Manual backups
|
||||
|
||||
- Triggered from Settings or `POST /api/backups`.
|
||||
- Filename format: `jobs_manual_YYYY_MM_DD_HH_MM_SS.db`
|
||||
- If a filename collision occurs, JobOps appends `_1`, `_2`, etc.
|
||||
- Manual backups are **not** auto-deleted by automatic retention cleanup.
|
||||
|
||||
## Configure backups
|
||||
|
||||
In **Settings → Backup**:
|
||||
|
||||
1. Enable automatic backups.
|
||||
2. Set backup hour (`0-23`, UTC).
|
||||
3. Set max automatic backups to keep (`1-5`).
|
||||
4. Save settings.
|
||||
|
||||
## API reference
|
||||
|
||||
```bash
|
||||
# List backups + next scheduled run time
|
||||
curl "http://localhost:3001/api/backups"
|
||||
```
|
||||
|
||||
```bash
|
||||
# Create a manual backup
|
||||
curl -X POST "http://localhost:3001/api/backups"
|
||||
```
|
||||
|
||||
```bash
|
||||
# Delete a specific backup
|
||||
curl -X DELETE "http://localhost:3001/api/backups/jobs_manual_2026_02_15_10_20_30.db"
|
||||
```
|
||||
|
||||
```bash
|
||||
# Update backup settings via Settings API
|
||||
curl -X PATCH "http://localhost:3001/api/settings" \
|
||||
-H "content-type: application/json" \
|
||||
-d '{
|
||||
"backupEnabled": true,
|
||||
"backupHour": 2,
|
||||
"backupMaxCount": 5
|
||||
}'
|
||||
```
|
||||
|
||||
## Restore workflow
|
||||
|
||||
To restore from a backup:
|
||||
|
||||
1. Stop JobOps.
|
||||
2. Locate backup files in your data directory.
|
||||
3. Copy the chosen backup over the main DB file (`jobs.db`).
|
||||
4. Start JobOps.
|
||||
5. Verify jobs/runs in the UI.
|
||||
|
||||
Example shell flow:
|
||||
|
||||
```bash
|
||||
# Example only: adjust paths for your setup
|
||||
cp /path/to/data/jobs_manual_2026_02_15_10_20_30.db /path/to/data/jobs.db
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Backups are not running automatically
|
||||
|
||||
- Confirm `backupEnabled` is true.
|
||||
- Confirm backup hour is set as intended (UTC, not local time).
|
||||
- Verify the app process is running at scheduled time.
|
||||
|
||||
### `POST /api/backups` fails
|
||||
|
||||
- Confirm the data directory and `jobs.db` are writable/readable.
|
||||
- Confirm `jobs.db` exists.
|
||||
- In demo mode, manual backup creation is blocked.
|
||||
|
||||
### Cannot delete a backup
|
||||
|
||||
- Filename must match valid backup patterns.
|
||||
- Invalid names and missing files return errors.
|
||||
|
||||
### Next scheduled time is null
|
||||
|
||||
- Automatic backups are currently disabled.
|
||||
|
||||
## Notes
|
||||
|
||||
- Backup cleanup applies only to automatic backups.
|
||||
- Manual backups stay until you delete them.
|
||||
|
||||
## Related pages
|
||||
|
||||
- [Settings](../features/settings)
|
||||
- [Self-Hosting](./self-hosting)
|
||||
Reference in New Issue
Block a user