e111398157
复刻 ../guitar 的功能: - 新加 chord-fetcher sidecar(python 3.11 + chromium + selenium),跟 main 同 pod 共享 PVC - yopu.py v2:搜「和弦谱」→ 进 view → 选 谱面样式=功能谱 + 和弦样式=级数名 → 截 sheet-container → PIL 裁白边 - music backend 加 POST /api/pieces/:id/chord/fetch + GET /chord/status,转发 sidecar 并把 png import 成 image attachment role=chord - 前端 chord tab 在没图时显示「自动抓取」按钮,点了 polling 状态、完成后刷新 - CI build 两个 image(music + music-chord),rollout 同步切版本
25 lines
666 B
Docker
25 lines
666 B
Docker
# music chord-fetcher sidecar
|
|
# 抓 yopu.co 截图的 selenium 服务,跟 music 主容器同 pod 共享 PVC。
|
|
|
|
FROM python:3.11-slim-bookworm
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
chromium chromium-driver fonts-noto-cjk ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV CHROME_BIN=/usr/bin/chromium
|
|
ENV CHROMEDRIVER_PATH=/usr/bin/chromedriver
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
RUN pip install --no-cache-dir \
|
|
selenium==4.27.1 \
|
|
pillow==11.0.0 \
|
|
fastapi==0.115.6 \
|
|
uvicorn==0.34.0
|
|
|
|
WORKDIR /app
|
|
COPY yopu.py chord_server.py ./
|
|
|
|
EXPOSE 8001
|
|
CMD ["uvicorn", "chord_server:app", "--host", "0.0.0.0", "--port", "8001"]
|