Sign inSign up

liwangsheng/pmd-backend

By liwangsheng

•Updated about 1 month ago

一个基于 yt-dlp 的自托管个人媒体下载管理平台,粘贴链接即可下载音视频

Image
0

1.0K

liwangsheng/pmd-backend repository overview

本项目纯ai生成,使用deepseek v4 flash 0731

https://kelao.de/2026/08/PMD⁠

# ============================================================
# Personal Media Downloader
# ============================================================
# 使用步骤:
#   1. 把本文件放到目标机器任意目录
#   2. 修改下方 JWT_SECRET 为强随机值:
#      python -c "import secrets; print(secrets.token_urlsafe(48))"
#   3. 执行 docker compose up -d
#   4. 浏览器访问 http://服务器IP:8080 (默认账号 admin / admin,首登强制改密)
# 数据说明:
#   ./data      数据库 + 临时文件 + 日志
#   ./downloads 下载的媒体文件
# ============================================================

services:
  # ---------- 后端服务:FastAPI + yt-dlp + ffmpeg ----------
  backend:
    image: liwangsheng/pmd-backend:latest
    container_name: pmd-backend
    # 如需本地构建(改过源码后测试),取消下一行注释
    # build: ./backend

    environment:
      # 默认时区:中国上海
      TZ: Asia/Shanghai
      # !!!JWT 签名密钥:部署前必须改为强随机值!!!
      # 生成:python -c "import secrets; print(secrets.token_urlsafe(48))"
      JWT_SECRET: CHANGE_ME_TO_A_STRONG_RANDOM_SECRET
      # 临时文件、日志等基础目录
      DATA_PATH: /data
      # 数据库目录(与下载文件分开存放)
      DB_PATH: /data/db
      # 下载完成的媒体文件根目录
      DOWNLOADS_PATH: /downloads
      # 后端监听端口(容器内,无需修改)
      PORT: 8000

    volumes:
      # 数据库 + 临时文件 + 日志
      - ./data:/data
      # 下载的媒体文件(可单独挂载大容量目录)
      - ./downloads:/downloads

    # 后端端口默认不对外暴露(仅前端容器内部访问,更安全)
    # 如需调试后端 API(如 /docs),取消下面注释:
    # ports:
    #   - "8000:8000"

    restart: unless-stopped

  # ---------- 前端服务:Nginx 托管页面并反代 /api、/ws ----------
  frontend:
    image: liwangsheng/pmd-frontend:latest
    container_name: pmd-frontend
    # 如需本地构建(改过前端代码后测试),取消下一行注释
    # build: ./frontend

    environment:
      # 默认时区:中国上海
      TZ: Asia/Shanghai

    depends_on:
      - backend

    ports:
      # 对外访问入口:http://服务器IP:8080
      - "8080:80"

    restart: unless-stopped

Tag summary

Content type

Image

Digest

sha256:a919c4875…

Size

133.8 MB

Last updated

about 1 month ago

docker pull liwangsheng/pmd-backend