backupctl Documentation

April 19, 2026 · View on GitHub

backupctl is a backup orchestration service for databases, files, or both — managing scheduled, encrypted, deduplicated backups for multiple projects from a single Docker container. Built with NestJS 11 and hexagonal architecture, it supports PostgreSQL, MySQL, and MongoDB databases plus arbitrary file/asset directories — with restic remote storage, GPG encryption, audit logging, crash recovery, and a full CLI.

Documentation

#PageDescription
1IntroductionWhat backupctl is, key features, design goals, tech stack
2ArchitectureHexagonal design, layer rules, domain subdomains, dependency injection
3RequirementsPRD summary — goals, non-goals, functional requirements, audit schema
4InstallationSetup wizard, Docker deployment, first-run verification
5ConfigurationProject YAML format, .env globals, config resolution, examples
6CLI ReferenceAll 14 commands with flags, arguments, exit codes, and examples
7Bash ScriptsHost-side scripts: install.sh, dev.sh, backupctl-manage.sh
8Backup FlowThe 13-step orchestration pipeline in detail
9Restore GuideSnapshot browsing, file restore, database import, --guide mode
10CheatsheetQuick-reference commands for daily operations
11Adding AdaptersHow to add new database dumpers, notifiers, or storage backends
12TroubleshootingCommon errors, diagnostics, recovery procedures
13DevelopmentDocker dev environment, networking, socat relay, testing, static analysis
14MigrationsTypeORM migration commands, patterns, and troubleshooting
15FAQSetup issues, Docker networking, ISP port blocking, SSH/GPG/restic fixes
16MonitoringUptime Kuma push monitors for passive failure detection
17NetworkDocker network management, Docker socket setup, multi-arch image support
Help CenterStep-by-step runbooks for recurring production issues

Getting Help

If something isn't working, start with the Troubleshooting guide. It covers common errors, diagnostic commands, and recovery procedures for lock files, audit DB connectivity, restic repos, and more.

For recurring production issues with step-by-step runbooks — including diagnosis, short-term workaround, and permanent fix — see the Help Center.

If you've checked the troubleshooting guide and FAQ and still need help: