updating the documentation of the SilverLinux Insftracture
This commit is contained in:
+274
@@ -0,0 +1,274 @@
|
||||
# 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
|
||||
|
||||
---
|
||||
|
||||
#### Gitea Data
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
/srv/docker/gitea/data
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* Git repositories
|
||||
* Attachments
|
||||
* Configuration
|
||||
* User data
|
||||
|
||||
Importance:
|
||||
|
||||
Critical
|
||||
|
||||
---
|
||||
|
||||
#### OpenProject Assets
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
/srv/docker/openproject/assets
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* Attachments
|
||||
* Uploaded files
|
||||
* User generated content
|
||||
|
||||
Importance:
|
||||
|
||||
Critical
|
||||
|
||||
---
|
||||
|
||||
#### Shared Secrets
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
/srv/secrets/company.env
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* SMTP credentials
|
||||
* PostgreSQL passwords
|
||||
* OpenProject secrets
|
||||
* Future OAuth secrets
|
||||
|
||||
Importance:
|
||||
|
||||
Critical
|
||||
|
||||
Without this file applications may not start correctly.
|
||||
|
||||
---
|
||||
|
||||
#### Nginx Proxy Manager
|
||||
|
||||
Locations:
|
||||
|
||||
```text
|
||||
/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:
|
||||
|
||||
```text
|
||||
portainer_portainer_data
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* Portainer users
|
||||
* Portainer configuration
|
||||
* Stack definitions
|
||||
|
||||
Importance:
|
||||
|
||||
Medium
|
||||
|
||||
Can be recreated if necessary.
|
||||
|
||||
---
|
||||
|
||||
#### Jitsi Configuration
|
||||
|
||||
Location:
|
||||
|
||||
```text
|
||||
/srv/docker/jitsi
|
||||
```
|
||||
|
||||
Contains:
|
||||
|
||||
* Jitsi configuration
|
||||
* Internal authentication configuration
|
||||
|
||||
Importance:
|
||||
|
||||
Medium
|
||||
|
||||
---
|
||||
|
||||
## Backup Storage
|
||||
|
||||
Current Location:
|
||||
|
||||
```text
|
||||
/srv/backups
|
||||
```
|
||||
|
||||
Suggested Structure:
|
||||
|
||||
```text
|
||||
/srv/backups/
|
||||
├── daily
|
||||
├── weekly
|
||||
└── monthly
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Retention Policy
|
||||
|
||||
### Daily
|
||||
|
||||
Keep:
|
||||
|
||||
```text
|
||||
7 days
|
||||
```
|
||||
|
||||
### Weekly
|
||||
|
||||
Keep:
|
||||
|
||||
```text
|
||||
4 weeks
|
||||
```
|
||||
|
||||
### Monthly
|
||||
|
||||
Keep:
|
||||
|
||||
```text
|
||||
12 months
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Restore Priorities
|
||||
|
||||
Restore order:
|
||||
|
||||
1. PostgreSQL
|
||||
2. Shared secrets
|
||||
3. Nginx Proxy Manager
|
||||
4. Gitea
|
||||
5. OpenProject
|
||||
6. Portainer
|
||||
7. Jitsi
|
||||
|
||||
---
|
||||
|
||||
## Disaster Recovery Checklist
|
||||
|
||||
### Step 1
|
||||
|
||||
Install:
|
||||
|
||||
* Ubuntu Server
|
||||
* Docker
|
||||
* Docker Compose
|
||||
|
||||
### Step 2
|
||||
|
||||
Restore:
|
||||
|
||||
```text
|
||||
/srv/secrets/company.env
|
||||
```
|
||||
|
||||
### Step 3
|
||||
|
||||
Restore:
|
||||
|
||||
```text
|
||||
/srv/docker
|
||||
```
|
||||
|
||||
data directories.
|
||||
|
||||
### Step 4
|
||||
|
||||
Restore PostgreSQL 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
|
||||
|
||||
Reference in New Issue
Block a user