Add web UI for configuration and management

- Flask-based web interface on port 8080
- Dashboard with channel statistics and sync status
- Channel management (add/remove channels via UI)
- Settings page for all configuration options
- Cookie file upload interface
- Real-time log viewer
- Manual sync trigger from web UI
- Updated Dockerfile to include Flask and web assets
- Updated Unraid template with WebUI port
- Updated README with web UI documentation
This commit is contained in:
2026-05-08 19:00:36 -04:00
parent 0ffb54e12e
commit b3f378a8ef
13 changed files with 1290 additions and 24 deletions

View File

@@ -9,15 +9,18 @@ RUN apk add --no-cache \
curl \
tzdata \
dcron \
&& pip3 install --no-cache-dir yt-dlp --break-system-packages
&& pip3 install --no-cache-dir yt-dlp flask --break-system-packages
# Create directories
RUN mkdir -p /downloads /config /app
# Copy scripts
# Copy scripts and web UI
COPY sync.sh /app/sync.sh
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/sync.sh /app/entrypoint.sh
COPY app.py /app/app.py
COPY templates/ /app/templates/
COPY static/ /app/static/
RUN chmod +x /app/sync.sh /app/entrypoint.sh /app/app.py
# Set working directory
WORKDIR /app
@@ -30,6 +33,9 @@ ENV DOWNLOAD_DIR=/downloads \
SLEEP_INTERVAL=2 \
TZ=America/Phoenix
# Expose web UI port
EXPOSE 8080
# Expose volume mount points
VOLUME ["/downloads", "/config"]