Files
silverlinux-infra/docs/backups.md
T
2026-06-21 17:03:02 +03:30

3.0 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


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
  • OpenProject secrets
  • 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


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:

  1. PostgreSQL
  2. Shared secrets
  3. Nginx Proxy Manager
  4. Gitea
  5. OpenProject
  6. Portainer
  7. Jitsi
  8. BaGet
  9. Gitea Actions Runner

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 databases.

Step 5

Deploy Docker stacks.

Step 6

Verify:

  • DNS
  • SSL certificates
  • Email delivery
  • Application access

  • docs/server.md
  • docs/security.md
  • docs/secrets.md
  • postgres/README.md
  • gitea/README.md
  • openproject/README.md