diff --git a/Dockerfile b/Dockerfile index 84256b1..e168122 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,10 +11,15 @@ RUN pdm install --prod --no-editable FROM hanxi/xiaomusic:runtime WORKDIR /app -COPY --from=builder /app/.venv /app/.venv +COPY --from=builder /app/.venv ./.venv COPY --from=builder /app/xiaomusic/ ./xiaomusic/ COPY --from=builder /app/plugins/ ./plugins/ COPY --from=builder /app/xiaomusic.py . +RUN touch /app/.dockerenv + +RUN mkdir -p /etc/supervisor/conf.d +COPY supervisor.conf /etc/supervisor/conf.d/supervisor.conf + ENV XIAOMUSIC_HOSTNAME=192.168.2.5 ENV XIAOMUSIC_PORT=8090 VOLUME /app/conf @@ -22,4 +27,5 @@ VOLUME /app/music EXPOSE 8090 ENV TZ=Asia/Shanghai ENV PATH=/app/.venv/bin:$PATH -ENTRYPOINT [".venv/bin/python3","xiaomusic.py"] + +CMD ["/usr/bin/supervisord", "-n"] diff --git a/supervisor.conf b/supervisor.conf new file mode 100644 index 0000000..849effd --- /dev/null +++ b/supervisor.conf @@ -0,0 +1,11 @@ +[supervisord] +nodaemon=true # 确保 supervisord 在前台运行,以便 Docker 容器不会退出 + +[program:xiaomusic] +command=/app/.venv/bin/python3 /app/xiaomusic.py +directory=/app +autostart=true +autorestart=true +stderr_logfile=/var/log/xiaomusic.err.log +stdout_logfile=/var/log/xiaomusic.out.log +