diff --git a/apps/metube/README.md b/apps/metube/README.md new file mode 100644 index 00000000..5ecdac1e --- /dev/null +++ b/apps/metube/README.md @@ -0,0 +1,11 @@ +# MeTube + +![Build Status](https://github.com/alexta69/metube/actions/workflows/main.yml/badge.svg) +![Docker Pulls](https://img.shields.io/docker/pulls/alexta69/metube.svg) + +MeTube 是一个基于 Web 的 GUI,支持 YouTube-DL(使用 [yt-dlp](https://github.com/yt-dlp/yt-dlp) 分支)并支持播放列表。它允许你从 YouTube 和 [其他数十个网站](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md) 下载视频。 + + +## 使用说明 + +假如下载权限有问题,则修改映射的下载文件夹用户组权限为`1000:1000`。 \ No newline at end of file diff --git a/apps/metube/data.yml b/apps/metube/data.yml new file mode 100644 index 00000000..9be51396 --- /dev/null +++ b/apps/metube/data.yml @@ -0,0 +1,19 @@ +name: MeTube +tags: + - 多媒体 +title: 媒体下载工具 +description: 媒体下载工具 +additionalProperties: + key: metube + name: MeTube + tags: + - Media + shortDescZh: 媒体下载工具 + shortDescEn: Media downloader tool + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/alexta69/metube + github: https://github.com/alexta69/metube + document: https://github.com/alexta69/metube diff --git a/apps/metube/latest/.env.sample b/apps/metube/latest/.env.sample new file mode 100644 index 00000000..c073f418 --- /dev/null +++ b/apps/metube/latest/.env.sample @@ -0,0 +1,18 @@ +AUDIO_DOWNLOAD_DIR="/downloads/audio" +CONTAINER_NAME="metube" +CREATE_CUSTOM_DIRS="true" +CUSTOM_DIRS="true" +DEFAULT_OPTION_PLAYLIST_ITEM_LIMIT=0 +DEFAULT_OPTION_PLAYLIST_STRICT_MODE="false" +DEFAULT_THEME="auto" +DELETE_FILE_ON_TRASHCAN="false" +DOWNLOAD_DIR="./data" +DOWNLOAD_DIRS_INDEXABLE="false" +GID=1000 +PANEL_APP_PORT_HTTP=40289 +PUBLIC_HOST_AUDIO_URL="" +PUBLIC_HOST_URL="" +STATE_DIR="/downloads/.metube" +TEMP_DIR="/downloads/temp" +UID=1000 +URL_PREFIX="/" diff --git a/apps/metube/latest/data.yml b/apps/metube/latest/data.yml new file mode 100644 index 00000000..c0181840 --- /dev/null +++ b/apps/metube/latest/data.yml @@ -0,0 +1,154 @@ +additionalProperties: + formFields: + - default: "40289" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data" + edit: true + envKey: DOWNLOAD_DIR + labelEn: Download Directory + labelZh: 下载目录 + required: true + type: text + - default: "1000" + disabled: true + envKey: UID + labelEn: UID + labelZh: 用户 ID + required: true + type: number + - default: "1000" + disabled: true + envKey: GID + labelEn: GID + labelZh: 用户组 ID + required: true + type: number + - default: "auto" + edit: true + envKey: DEFAULT_THEME + labelEn: Default Theme + labelZh: 默认主题 + required: true + type: select + values: + - label: "Light" + value: "light" + - label: "Dark" + value: "dark" + - label: "Auto" + value: "auto" + - default: "/downloads/audio" + disabled: true + envKey: AUDIO_DOWNLOAD_DIR + labelEn: Audio Download Directory + labelZh: 音频下载目录 + required: false + type: text + - default: "/downloads/.metube" + disabled: true + envKey: STATE_DIR + labelEn: State Directory + labelZh: 状态目录 + required: true + type: text + - default: "/downloads/temp" + disabled: true + envKey: TEMP_DIR + labelEn: Temp Directory + labelZh: 临时目录 + required: false + type: text + - default: "false" + edit: true + envKey: DOWNLOAD_DIRS_INDEXABLE + labelEn: Download Dirs Indexable + labelZh: 目录可索引 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "true" + edit: true + envKey: CUSTOM_DIRS + labelEn: Custom Directories + labelZh: 自定义目录 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "true" + edit: true + envKey: CREATE_CUSTOM_DIRS + labelEn: Create Custom Directories + labelZh: 创建自定义目录 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "false" + edit: true + envKey: DELETE_FILE_ON_TRASHCAN + labelEn: Delete File on Trashcan + labelZh: 删除文件 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "/" + edit: true + envKey: URL_PREFIX + labelEn: URL Prefix + labelZh: URL 前缀 + required: true + type: text + - default: "" + edit: true + envKey: PUBLIC_HOST_URL + labelEn: Public Host URL + labelZh: 公共主机URL + required: false + type: text + - default: "" + edit: true + envKey: PUBLIC_HOST_AUDIO_URL + labelEn: Public Host Audio URL + labelZh: 公共音频主机URL + required: false + type: text + - default: "false" + edit: true + envKey: DEFAULT_OPTION_PLAYLIST_STRICT_MODE + labelEn: Strict Playlist Mode + labelZh: 严格播放列表模式 + required: true + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: "0" + edit: true + envKey: DEFAULT_OPTION_PLAYLIST_ITEM_LIMIT + labelEn: Playlist Item Limit + labelZh: 播放列表项限制 + required: true + type: number diff --git a/apps/metube/latest/data/.metube/.gitkeep b/apps/metube/latest/data/.metube/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/metube/latest/data/audio/.gitkeep b/apps/metube/latest/data/audio/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/metube/latest/data/temp/.gitkeep b/apps/metube/latest/data/temp/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/metube/latest/docker-compose.yml b/apps/metube/latest/docker-compose.yml new file mode 100644 index 00000000..94cf71c3 --- /dev/null +++ b/apps/metube/latest/docker-compose.yml @@ -0,0 +1,34 @@ +services: + metube: + image: "alexta69/metube:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8081 + volumes: + - ${DOWNLOAD_DIR}:/downloads + environment: + - UID=${UID} + - GID=${GID} + - UMASK=022 + - DEFAULT_THEME=${DEFAULT_THEME} + - AUDIO_DOWNLOAD_DIR=${AUDIO_DOWNLOAD_DIR} + - DOWNLOAD_DIRS_INDEXABLE=${DOWNLOAD_DIRS_INDEXABLE} + - CUSTOM_DIRS=${CUSTOM_DIRS} + - CREATE_CUSTOM_DIRS=${CREATE_CUSTOM_DIRS} + - STATE_DIR=${STATE_DIR} + - TEMP_DIR=${TEMP_DIR} + - DELETE_FILE_ON_TRASHCAN=${DELETE_FILE_ON_TRASHCAN} + - URL_PREFIX=${URL_PREFIX} + - PUBLIC_HOST_URL=${PUBLIC_HOST_URL} + - PUBLIC_HOST_AUDIO_URL=${PUBLIC_HOST_AUDIO_URL} + - DEFAULT_OPTION_PLAYLIST_STRICT_MODE=${DEFAULT_OPTION_PLAYLIST_STRICT_MODE} + - DEFAULT_OPTION_PLAYLIST_ITEM_LIMIT=${DEFAULT_OPTION_PLAYLIST_ITEM_LIMIT} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/metube/latest/scripts/init.sh b/apps/metube/latest/scripts/init.sh new file mode 100644 index 00000000..4e811c86 --- /dev/null +++ b/apps/metube/latest/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 1000:1000 data \ No newline at end of file diff --git a/apps/metube/logo.png b/apps/metube/logo.png new file mode 100644 index 00000000..4fdd16ff Binary files /dev/null and b/apps/metube/logo.png differ