feat: make Django configs drive backups and scheduling
Treat SQL-backed Django models as the source of truth for pobsync configuration, exporting runtime YAML only as a compatibility layer for the existing engine. Add a database-driven scheduler command, Docker scheduler services, schedule run-state fields, and tests for scheduler, config export, and retention behavior.
This commit is contained in:
@@ -14,6 +14,19 @@ services:
|
||||
- pobsync_state:/opt/pobsync
|
||||
- pobsync_db:/var/lib/pobsync
|
||||
|
||||
scheduler:
|
||||
build: .
|
||||
command: python manage.py run_pobsync_scheduler --loop --interval 60
|
||||
environment:
|
||||
POBSYNC_DJANGO_DEBUG: "1"
|
||||
POBSYNC_DJANGO_SECRET_KEY: "dev-only-change-me"
|
||||
POBSYNC_DJANGO_ALLOWED_HOSTS: "localhost,127.0.0.1,0.0.0.0"
|
||||
POBSYNC_HOME: "/opt/pobsync"
|
||||
POBSYNC_SQLITE_PATH: "/var/lib/pobsync/pobsync.sqlite3"
|
||||
volumes:
|
||||
- pobsync_state:/opt/pobsync
|
||||
- pobsync_db:/var/lib/pobsync
|
||||
|
||||
web-mariadb:
|
||||
profiles: ["mariadb"]
|
||||
build: .
|
||||
@@ -36,6 +49,26 @@ services:
|
||||
volumes:
|
||||
- pobsync_state:/opt/pobsync
|
||||
|
||||
scheduler-mariadb:
|
||||
profiles: ["mariadb"]
|
||||
build: .
|
||||
command: python manage.py run_pobsync_scheduler --loop --interval 60
|
||||
environment:
|
||||
POBSYNC_DJANGO_DEBUG: "1"
|
||||
POBSYNC_DJANGO_SECRET_KEY: "dev-only-change-me"
|
||||
POBSYNC_DJANGO_ALLOWED_HOSTS: "localhost,127.0.0.1,0.0.0.0"
|
||||
POBSYNC_HOME: "/opt/pobsync"
|
||||
POBSYNC_DB_ENGINE: "mariadb"
|
||||
POBSYNC_DB_HOST: "db"
|
||||
POBSYNC_DB_NAME: "pobsync"
|
||||
POBSYNC_DB_USER: "pobsync"
|
||||
POBSYNC_DB_PASSWORD: "pobsync"
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- pobsync_state:/opt/pobsync
|
||||
|
||||
db:
|
||||
profiles: ["mariadb"]
|
||||
image: mariadb:11
|
||||
|
||||
Reference in New Issue
Block a user