3.7 KiB
Backups
Overview
This document describes the backup strategy for SilverLinux.
The goal is to ensure that all critical services can be restored after hardware failure, accidental deletion, corruption, or disaster recovery scenarios.
Backup Priorities
Critical
These items must always be backed up.
PostgreSQL
Contains:
- OpenProject database
- Gitea database
- Future application databases
Importance:
Critical
Microsoft SQL Server
Data location:
/srv/docker/mssql/data
Required:
- Native SQL Server database backups
- MSSQL Compose configuration
MSSQL_SA_PASSWORDfrom the shared secrets backup
Importance:
Critical
Do not rely on copying live database files as the only backup method.
Gitea Data
Location:
/srv/docker/gitea/data
Contains:
- Git repositories
- Attachments
- Configuration
- User data
Importance:
Critical
OpenProject Assets
Location:
/srv/docker/openproject/assets
Contains:
- Attachments
- Uploaded files
- User generated content
Importance:
Critical
Shared Secrets
Location:
/srv/secrets/company.env
Contains:
- SMTP credentials
- PostgreSQL passwords
- MSSQL SA password
- OpenProject secrets
- Future DbGate password
- Future OAuth secrets
Importance:
Critical
Without this file applications may not start correctly.
Nginx Proxy Manager
Locations:
/srv/docker/nginx-proxy-manager/data
/srv/docker/nginx-proxy-manager/letsencrypt
Contains:
- Proxy configuration
- SSL certificates
- Domain routing
Importance:
Critical
Medium Priority
Portainer
Volume:
portainer_portainer_data
Contains:
- Portainer users
- Portainer configuration
- Stack definitions
Importance:
Medium
Can be recreated if necessary.
Jitsi Configuration
Location:
/srv/docker/jitsi
Contains:
- Jitsi configuration
- Internal authentication configuration
Importance:
Medium
BaGet Data
Location:
/srv/docker/baget/data
Contains:
- Hosted NuGet packages
- SQLite database
Importance:
Medium
Gitea Actions Runner Configuration
Location:
/srv/docker/gitea-runner
Contains:
- Runner deployment configuration
- Runner state
The registration token is stored separately in /srv/secrets/company.env.
Importance:
Medium
DbGate Data
Location:
/srv/docker/dbgate/data
Contains:
- Saved connections
- DbGate application state
Also retain the Nginx Proxy Manager route and DbGate authentication credential.
Importance:
Medium
Backup Storage
Current Location:
/srv/backups
Suggested Structure:
/srv/backups/
├── daily
├── weekly
└── monthly
Retention Policy
Daily
Keep:
7 days
Weekly
Keep:
4 weeks
Monthly
Keep:
12 months
Restore Priorities
Restore order:
- Shared secrets
- PostgreSQL
- Microsoft SQL Server
- Nginx Proxy Manager
- Gitea
- OpenProject
- Portainer
- Jitsi
- BaGet
- Gitea Actions Runner
- DbGate
Disaster Recovery Checklist
Step 1
Install:
- Ubuntu Server
- Docker
- Docker Compose
Step 2
Restore:
/srv/secrets/company.env
Step 3
Restore:
/srv/docker
data directories.
Step 4
Restore PostgreSQL and Microsoft SQL Server databases.
Step 5
Deploy Docker stacks.
Step 6
Verify:
- DNS
- SSL certificates
- Email delivery
- Application access
Related Documentation
- docs/server.md
- docs/security.md
- docs/secrets.md
- postgres/README.md
- gitea/README.md
- openproject/README.md
- mssql/README.md
- dbgate/README.md