Feature: Automated configuration backups with scheduling

- Create/Download/Upload/Restore database backups (PostgreSQL and SQLite)
- Configurable data directory backups (via settings.py)
- Scheduled backups (daily/weekly) via Celery Beat
- Retention policy (keep last N backups)
- Token-based auth for async task polling
- X-Accel-Redirect support for nginx file serving
- Comprehensive tests
This commit is contained in:
Jim McBride 2025-11-26 21:11:13 -06:00
parent 70aaa2a04c
commit 3eaa76174e
18 changed files with 2694 additions and 0 deletions

View file

@ -34,6 +34,13 @@ server {
root /data;
}
# Internal location for X-Accel-Redirect backup downloads
# Django handles auth, nginx serves the file directly
location /protected-backups/ {
internal;
alias /data/backups/;
}
location /api/logos/(?<logo_id>\d+)/cache/ {
proxy_pass http://127.0.0.1:5656;
proxy_cache logo_cache;

View file

@ -20,6 +20,7 @@ module = dispatcharr.wsgi:application
virtualenv = /dispatcharrpy
master = true
env = DJANGO_SETTINGS_MODULE=dispatcharr.settings
env = USE_NGINX_ACCEL=true
socket = /app/uwsgi.sock
chmod-socket = 777
vacuum = true