Skip to content

NorthwoodsCommunityChurch/Davinci-Project-Server-Backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DaVinci Backup

Native macOS application for backing up DaVinci Resolve Project Server databases.

macOS Swift License

Features

  • Native SwiftUI app - No Docker, no containers, no security alerts
  • Menu bar integration - Quick access to backup status and controls
  • Scheduled backups - Hourly, daily, or weekly automatic backups
  • Backup history - Track all backups with success/failure status
  • Bundled PostgreSQL tools - No external installation required
  • Secure credential storage - Passwords stored in macOS Keychain

Requirements

  • macOS 13.0 (Ventura) or later
  • Apple Silicon (arm64) Mac
  • Network access to your DaVinci Resolve Project Server

Installation

  1. Download DaVinciBackup-Release.zip from Releases
  2. Extract and move DaVinciBackup.app to /Applications
  3. On first launch, right-click → Open (required for ad hoc signed apps)

Quick Start

  1. Launch DaVinciBackup from Applications
  2. Go to Settings tab
  3. Enter your Project Server connection details:
    • Host: Your server's IP address
    • Port: 5432 (default PostgreSQL port)
    • Username: postgres
    • Password: DaVinci (default)
  4. Click Test Connection
  5. Configure your backup folder and schedule
  6. Click Save Settings
  7. Go to Dashboard and click Backup All Databases

Backup Format

Backups are created in PostgreSQL custom format (.backup) which is directly compatible with DaVinci Resolve's restore function.

Restoring a Backup

  1. Open DaVinci Resolve
  2. Open Project Manager
  3. Right-click on a database → Restore Project Archive...
  4. Select the .backup file from your backup folder

Data Storage

Data Location
Settings ~/Library/Preferences/com.davinci.backup.plist
History ~/Library/Application Support/DaVinciBackup/history.json
Logs ~/Library/Application Support/DaVinciBackup/backup.log
Passwords macOS Keychain

Building from Source

# Clone the repository
git clone https://github.com/NorthwoodsCommunityChurch/Davinci-Project-Server-Backup.git
cd Davinci-Project-Server-Backup

# Open in Xcode
open DaVinciBackup/DaVinciBackup.xcodeproj

# Build (Cmd+B) or run (Cmd+R)

Project Structure

DaVinciBackup/
├── DaVinciBackup/
│   ├── Models/           # Data models
│   ├── Views/            # SwiftUI views
│   ├── ViewModels/       # View models
│   ├── Services/         # Business logic
│   ├── Persistence/      # Data persistence
│   └── Resources/        # Assets and bundled tools
│       └── PostgreSQL/   # Bundled pg_dump, psql, pg_restore
└── DaVinciBackup.xcodeproj

Security

  • Passwords are stored in macOS Keychain using kSecAttrAccessibleWhenUnlocked
  • Database names are sanitized to prevent path traversal attacks
  • No credentials are stored in plain text or passed via command line
  • App is ad hoc signed for local distribution

Legacy Shell Scripts

The legacy/ folder contains the original shell-based backup solution. This is kept for reference but is no longer maintained. Use the native app instead.

License

MIT License - see LICENSE for details.

Credits

Inspired by elliotmatson/Docker-Davinci-Resolve-Project-Server

About

Native macOS app for backing up DaVinci Resolve Project Server databases

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors