Emby-Toolkit-emby管理工具

作者:滔哥有点菜 发布时间: 2025-10-27 阅读量:18 评论数:0
version: '3.8'

services:
  # --- 1. Emby-Toolkit 主程序 ---
  emby-toolkit:
    image: hbq0405/emby-toolkit:latest 
    container_name: emby-toolkit
    network_mode: bridge                          # 网络模式
    ports:
      - "5257:5257"                               # 管理端口
      - "8097:8097"                               # 反代端口,虚拟库用,冒号前面是实际访问端口,冒号后面是管理后台设置的反代监听端口
    volumes:
      - /path/emby-toolkit:/config                # 将宿主机的数据目录挂载到容器的 /config 目录
      - /path/tmdb:/tmdb                          # 映射神医本地TMDB目录,非神医Pro用户可以留空
      - /var/run/docker.sock:/var/run/docker.sock # 一键更新用,不需要可以不配置
    environment:
      - APP_DATA_DIR=/config                      # 持久化目录
      - TZ=Asia/Shanghai                          # 设置容器时区
      - AUTH_USERNAME=admin                       # 用户名可任意设置,密码在程序首次运行会生成初始密码:password
      - PUID=1000                                 # 设置为你的用户ID,建议与宿主机用户ID保持一致
      - PGID=1000                                 # 设置为DOCKER组ID (一键更新用,‘grep docker /etc/group’可以查询)
      - UMASK=022                                 # 设置文件权限掩码,建议022
      - DB_HOST=172.17.0.1                        # 数据库服务的地址 
      - DB_PORT=5433                              # 数据库服务的端口 
      - DB_USER=embytoolkit                       # !!! (可选) 修改为你自己的数据库用户名
      - DB_PASSWORD=embytoolkit                   # !!! (必填) 请修改为一个强密码 !!!
      - DB_NAME=embytoolkit                       # !!! (可选) 修改为你自己的数据库名
      - CONTAINER_NAME=emby-toolkit               # 以下两项都是一键更新用,不需要可以不配置
      - DOCKER_IMAGE_NAME=hbq0405/emby-toolkit:latest
    restart: unless-stopped
    depends_on:                                   # 确保主程序只在数据库健康检查通过后才启动 
      db:
        condition: service_healthy
  # --- 2. PostgreSQL 数据库服务 ---
  db:
    image: postgres:16-alpine
    container_name: emby-toolkit-db
    restart: unless-stopped
    network_mode: bridge
    volumes:
      # 将数据库的持久化数据存储在名为 'postgres_data' 的Docker卷中
      # 这可以确保即使删除了容器,数据库数据也不会丢失
      - postgres_data:/var/lib/postgresql/data
    environment:
      # --- 数据库认证配置 (核心) ---
      # 这些值必须与上面的 'emby-toolkit' 服务中的环境变量完全匹配
      - POSTGRES_USER=embytoolkit               # !!! (可选) 修改,与上面保持一致
      - POSTGRES_PASSWORD=embytoolkit           # !!! (必填) 修改,与上面保持一致 !!!
      - POSTGRES_DB=embytoolkit                 # !!! (可选) 修改,与上面保持一致
    ports:
      # 将数据库端口映射到宿主机,方便使用Navicat等工具连接调试
      - "5433:5432"
    healthcheck:
      # 健康检查,确保数据库服务已准备好接受连接
      test: ["CMD-SHELL", "pg_isready -U embytoolkit -d embytoolkit"]
      interval: 10s
      timeout: 5s
      retries: 5
volumes:
  postgres_data:                                  # 创建一个Docker卷持久化保存数据库数据

项目地址:

https://github.com/hbq0405/emby-toolkit

评论