feat: Business Central backup Docker container with web management panel

Python backup module (Azure AD OAuth2 → BC API v2.0 → GPG AES256 → S3),
Flask web UI on port 1890 with SSE live log streaming, dual incremental +
full backup schedules, chain restore merging full + incrementals, and
per-entity file browser with ZIP download.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-26 20:09:32 +02:00
parent 025eb3896c
commit b651eca285
11 changed files with 2781 additions and 0 deletions

18
Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM python:3.11-slim
RUN apt-get update && apt-get install -y --no-install-recommends gnupg \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY backup_bc.py web.py ./
COPY templates/ templates/
VOLUME ["/data"]
ENV BCBAK_DATA=/data
ENV PORT=1890
EXPOSE 1890
CMD ["python", "web.py"]