- ui/index.html, ui/styles.css, ui/scripts.js — minimal two-tab UI - Search tab: big search bar, results with size/votes, add-to-queue button - Queue tab: progress bar, speed, downloaded/total, status badges, cancel - Switches to queue tab on load if downloads are active - Backend: GET /api/search, POST /api/queue/add, GET /api/queue, POST /api/queue/cancel - Speed tracking in streamToFile, abort tracking for immediate cancel - No rounded corners, dark theme
9 lines
167 B
Docker
9 lines
167 B
Docker
FROM node:20-alpine
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci --omit=dev
|
|
COPY src/ ./src/
|
|
COPY ui/ ./ui/
|
|
EXPOSE 3001
|
|
CMD ["node", "src/index.js"]
|