Sign inSign up

hbq0405/etkn

By hbq0405

•Updated 41 minutes ago

ETK下一版

Image
1

50K+

hbq0405/etkn repository overview

⁠ETKN

ETKN(ETKvNext)是一款面向 Emby 家庭影音场景的自动化媒体库管理与资源入库工具,打通 115/P115、TMDb、MoviePilot 与 Emby,帮助用户完成从资源发现、订阅追更到整理入库、媒体刮削和播放管理的完整流程。

⁠核心功能

  • 115/P115 资源扫描、识别、整理、转存与 STRM 同步
  • MoviePilot 订阅同步、自动追剧和缺集补订
  • TMDb 元数据刮削、图片管理、演员与人物信息补全
  • Emby 媒体库自动入库、刷新、中文搜索和事件同步
  • 电影、剧集、季度及演员订阅管理
  • 虚拟库、榜单聚合、个人推荐和缺失资源占位
  • 共享池、影巢及频道资源聚合与统一入库
  • 家庭视频同步,支持 NFO、海报和图片补全
  • 可视化任务中心,支持手动执行、定时计划、进度日志和失败重试
  • Telegram 主动通知、用户管理、邀请注册和权限控制
  • 支持 Docker 部署,配置和数据持久化
  • 支持 AMD64 与 ARM64 多架构镜像

⁠适用场景

适合希望使用 Emby 搭建自动化家庭影音库,并整合 115 网盘、MoviePilot、TMDb 等服务的用户。

⁠端口

  • 5257:ETKN 管理界面及 API
  • 8097:虚拟库反向代理

⁠部署方式

⁠方式一:新手推荐,一体化部署

ETKN 与 PostgreSQL 一起运行,适合首次使用。

保存为 compose.yml:

services:
  etkn:
    image: hbq0405/etkn:latest
    container_name: etkn
    cap_add:
      - SYS_NICE
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    init: true
    volumes:
      - ./local_data:/config
      - /path/strm:/strm
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - APP_DATA_DIR=/config
      - ETKN_CONFIG_DIR=/config
      - PUID=1000
      - PGID=1000
      - UMASK=022
      - ETKN_ADMIN_USERNAME=admin
      # 留空时首次启动自动生成随机密码并打印到容器日志
      - ETKN_ADMIN_PASSWORD=
      - DB_HOST=db
      - DB_PORT=5432
      - DB_USER=etkn
      - DB_PASSWORD=etkn
      - DB_NAME=etkn
      - CONTAINER_NAME=etkn
      - DOCKER_IMAGE_NAME=hbq0405/etkn:latest
      - TZ=Asia/Shanghai
    ports:
      - "5257:5257"
      - "8097:8097"
    networks:
      - etkn-net
    depends_on:
      db:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:5257/api/health', timeout=3)"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 30s

  db:
    image: postgres:16-alpine
    container_name: etkn-db
    restart: unless-stopped
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=etkn
      - POSTGRES_PASSWORD=etkn
      - POSTGRES_DB=etkn
    networks:
      - etkn-net
    ports:
      - "5432:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U etkn -d etkn"]
      interval: 10s
      timeout: 5s
      retries: 5

networks:
  etkn-net:
    driver: bridge

volumes:
  postgres_data:

启动:

docker compose up -d
docker compose ps
docker compose logs -f etkn
⁠方式二:高级用户,ETKN 与 PostgreSQL 分离部署

适合已有 PostgreSQL 集群、NAS 数据库或独立数据库服务器的用户。

保存为 compose.yml:

services:
  etkn:
    image: hbq0405/etkn:latest
    container_name: etkn
    cap_add:
      - SYS_NICE
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    init: true
    ports:
      - "5257:5257"
      - "8097:8097"
    volumes:
      - ./local_data:/config
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - APP_DATA_DIR=/config
      - ETKN_CONFIG_DIR=/config
      - PUID=1000
      - PGID=1000
      - UMASK=022
      - ETKN_ADMIN_USERNAME=admin
      # 留空时首次启动自动生成随机密码并打印到容器日志
      - ETKN_ADMIN_PASSWORD=
      - DB_HOST=数据库IP
      - DB_PORT=5432
      - DB_USER=etkn
      - DB_PASSWORD=etkn
      - DB_NAME=etkn
      - CONTAINER_NAME=etkn
      - DOCKER_IMAGE_NAME=hbq0405/etkn:latest
      - TZ=Asia/Shanghai

如果 PostgreSQL 与 ETKN 位于同一个 Docker 网络,将 DB_HOST 设置为 PostgreSQL 容器名,例如:

DB_HOST: postgres

如果 PostgreSQL 运行在宿主机上,可使用宿主机局域网 IP;Docker Desktop 也可以尝试:

DB_HOST: host.docker.internal

外部 PostgreSQL 必须:

  • 已创建数据库 etkn
  • 已创建对应用户并授予权限
  • 允许 ETKN 容器远程连接
  • 防火墙已放行 PostgreSQL 端口
  • ETKN 容器可以访问数据库服务器

⁠数据持久化

  • ./local_data:ETKN 配置、授权信息和运行数据
  • postgres_data:PostgreSQL 数据库
  • 请勿随意删除上述目录或 Docker 卷

⁠更新 ETKN

docker compose pull
docker compose up -d

ETKN 首次启动时会自动执行数据库迁移。

⁠访问地址

管理页面:

http://你的服务器IP:5257

虚拟库地址:

http://你的服务器IP:8097

Tag summary

Content type

Image

Digest

sha256:24b0b790b…

Size

411.2 MB

Last updated

41 minutes ago

docker pull hbq0405/etkn