live-rec: 치지직·유튜브 방송 예약 녹화
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
f0da6f724a
8 files changed
+1942
No files matched your search
+26
@@ -0,0 +1,26 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg ca-certificates tzdata \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 유튜브는 JS 챌린지 풀이에 외부 JS 런타임(deno)이 필요하다
|
||||
COPY --from=denoland/deno:bin /deno /usr/local/bin/deno
|
||||
|
||||
# 녹화 파일 소유자. 호스트 사용자와 맞춘다 (.env PUID/PGID, 예: Synology 첫 사용자 1026:100)
|
||||
ARG PUID=1000
|
||||
ARG PGID=1000
|
||||
|
||||
# yt-dlp는 venv에 두고 컨테이너 사용자 소유로 → 재빌드 없이 rec update / 데몬이 매일 업데이트
|
||||
RUN python -m venv /opt/venv \
|
||||
&& /opt/venv/bin/pip install --no-cache-dir -U 'yt-dlp[default]' \
|
||||
&& chown -R ${PUID}:${PGID} /opt/venv
|
||||
|
||||
# rec.py(데몬·CLI) + web.py·index.html(웹 화면) — 같은 폴더에 있어야 데몬이 web을 불러온다
|
||||
COPY --chmod=755 rec.py /opt/rec/
|
||||
COPY web.py index.html /opt/rec/
|
||||
RUN ln -s /opt/rec/rec.py /usr/local/bin/rec
|
||||
|
||||
ENV PATH=/opt/venv/bin:$PATH TZ=Asia/Seoul PYTHONUNBUFFERED=1
|
||||
USER ${PUID}:${PGID}
|
||||
WORKDIR /data
|
||||
CMD ["rec", "daemon"]
|
||||
Reference in new issue
Block a user