Files
OFApp/Dockerfile
Trey t 1e5f54f60b Add DRM downloads, scrapers, gallery index, and UI improvements
- DRM video download pipeline with pywidevine subprocess for Widevine key acquisition
- Scraper system: forum threads, Coomer/Kemono API, and MediaLink (Fapello) scrapers
- SQLite-backed media index for instant gallery loads with startup scan
- Duplicate detection and gallery filtering/sorting
- HLS video component, log viewer, and scrape management UI
- Dockerfile updated for Python/pywidevine, docker-compose volume for CDM

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:29:11 -06:00

26 lines
658 B
Docker

# Stage 1 — Build client
FROM node:20-alpine AS builder
WORKDIR /app
COPY client/package*.json ./client/
RUN cd client && npm install
COPY client/ ./client/
RUN cd client && npm run build
# Stage 2 — Production
FROM node:20-alpine
RUN apk add --no-cache ffmpeg openssl python3 py3-pip \
&& pip3 install --break-system-packages pywidevine
WORKDIR /app
COPY server/package*.json ./server/
RUN cd server && npm install --production
COPY server/ ./server/
COPY --from=builder /app/client/dist ./client/dist
ENV PORT=3001
ENV DB_PATH=/data/db/ofapp.db
ENV MEDIA_PATH=/data/media
ENV DOWNLOAD_DELAY=1000
EXPOSE 3001 3443
CMD ["node", "server/index.js"]