feat: add Django backend foundation and Docker runtime

Add a Django admin-backed management layer for pobsync configs, runs,
snapshots, and schedules. Keep the existing CLI engine as the execution
source of truth, add import/run management commands, and provide SQLite
default plus optional MariaDB Docker Compose support.
This commit is contained in:
2026-05-19 04:48:13 +02:00
parent 27acd790bd
commit 1a51c3e448
23 changed files with 722 additions and 3 deletions

58
docker-compose.yml Normal file
View File

@@ -0,0 +1,58 @@
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
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"
ports:
- "8000:8000"
volumes:
- pobsync_state:/opt/pobsync
- pobsync_db:/var/lib/pobsync
web-mariadb:
profiles: ["mariadb"]
build: .
command: python manage.py runserver 0.0.0.0:8000
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
ports:
- "8000:8000"
volumes:
- pobsync_state:/opt/pobsync
db:
profiles: ["mariadb"]
image: mariadb:11
environment:
MARIADB_DATABASE: "pobsync"
MARIADB_USER: "pobsync"
MARIADB_PASSWORD: "pobsync"
MARIADB_ROOT_PASSWORD: "pobsync-root"
volumes:
- mariadb_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 5s
retries: 20
volumes:
pobsync_state:
pobsync_db:
mariadb_data: