{"id":19502837,"url":"https://github.com/dds-derek/bgmi-all-in-one-docker","last_synced_at":"2025-04-26T00:32:46.671Z","repository":{"id":50466716,"uuid":"517966753","full_name":"DDS-Derek/BGmi-All-In-One-Docker","owner":"DDS-Derek","description":"A better BGmi Docker image","archived":false,"fork":false,"pushed_at":"2024-10-27T01:52:16.000Z","size":4924,"stargazers_count":24,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T05:22:54.043Z","etag":null,"topics":["anime","aria2","bangumi","docker","downloader","hardlink","torrent","transmission"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/ddsderek/bgmi-all-in-one","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DDS-Derek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-26T07:57:37.000Z","updated_at":"2024-11-22T15:54:38.000Z","dependencies_parsed_at":"2023-12-01T15:28:19.331Z","dependency_job_id":"1605eab0-7258-45d9-bc27-e61812cbafc0","html_url":"https://github.com/DDS-Derek/BGmi-All-In-One-Docker","commit_stats":null,"previous_names":[],"tags_count":149,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDS-Derek%2FBGmi-All-In-One-Docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDS-Derek%2FBGmi-All-In-One-Docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDS-Derek%2FBGmi-All-In-One-Docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DDS-Derek%2FBGmi-All-In-One-Docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DDS-Derek","download_url":"https://codeload.github.com/DDS-Derek/BGmi-All-In-One-Docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250917284,"owners_count":21507561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anime","aria2","bangumi","docker","downloader","hardlink","torrent","transmission"],"created_at":"2024-11-10T22:18:36.570Z","updated_at":"2025-04-26T00:32:46.351Z","avatar_url":"https://github.com/DDS-Derek.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BGmi All In One Docker\n\n[![Build](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/actions/workflows/build.yml/badge.svg)](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/actions/workflows/build.yml)\n[![Test](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/actions/workflows/test.yml/badge.svg)](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/actions/workflows/test.yml)\n\n**注意，Dockerhub仓库从`ddsderek/bgmi-docker-all-in-one`换为`ddsderek/bgmi-all-in-one`**\n\n参考 https://github.com/codysk/bgmi-docker-all-in-one 大佬的镜像制作而成。\n\n## 功能\n1. 硬链接，硬链接通过内置硬链接脚本实现。\n2. `PUID`，`PGID`和`Umask`配置。\n3. 内置 aria2-pro，transmission 下载器。\n4. Transmission 下载器内置 `Transmission Web Control` UI。\n5. Aria2 下载器内置 Ariang 管理界面。\n6. Aria2 下载器自动 ban 掉迅雷等不受欢迎客户端。\n7. Aria2 下载器内置 Anime trackers。\n8. 常用脚本 `bgmi_download` `bgmi_hardlink`。\n9. 镜像体积小，层数少。\n10. 内置FileBrowser，管理文件更方便（通过```IP:PORT/file```访问）。\n\n## BGmi介绍\n\n[官方介绍和使用方法](https://github.com/BGmi/BGmi/blob/master/README.md)\n\n## 部署\n### docker-cli\n\n**Transmission**\n\n\u003e 注意：镜像内置Transmission Web Control管理界面，访问```IP:PORT/tr```，此```PORT```与访问BGmi Web端口为同一端口\n\n```bash\ndocker run -itd \\\n  --name=bgmi \\\n  --restart always \\\n  -v /bgmi:/bgmi \\\n  -v /media:/media \\\n  -p 80:80 \\\n  -p 51413:51413/tcp \\\n  -p 51413:51413/udp \\\n  -e TZ=Asia/Shanghai \\\n  -e PGID=1000 \\\n  -e PUID=1000 \\\n  -e UMASK=022 \\\n  -e MEDIA_DIR=/media/cartoon \\\n  -e DOWNLOAD_DIR=/media/downloads \\\n  -e BGMI_DATA_SOURCE=mikan_project \\\n  -e BGMI_HTTP_ADMIN_TOKEN=password \\\n  -e BGMI_HARDLINK_USE=true \\\n  -e FILEBROWSER_USE=true \\\n  -e TR_USER=bgmi \\\n  -e TR_PASS=password \\\n  -e TR_PEERPORT=51413 \\\n  ddsderek/bgmi-all-in-one:transmission\n```\n\n**Aria2**\n\n\u003e 注意：镜像内置Ariang管理界面，访问```IP:PORT/ariang```，此```PORT```与访问BGmi Web端口为同一端口\n\u003e 其中Aria2 RPC端口做了Nginx反向代理，与访问BGmi Web端口为同一端口，类似于图中这样设置\n![](./docs/img/ariang.png)\n\n```bash\ndocker run -itd \\\n  --name=bgmi \\\n  --restart always \\\n  -v /bgmi:/bgmi \\\n  -v /media:/media \\\n  -p 80:80 \\\n  -p 6888:6888/tcp \\\n  -p 6888:6888/udp \\\n  -e TZ=Asia/Shanghai \\\n  -e PGID=1000 \\\n  -e PUID=1000 \\\n  -e UMASK=022 \\\n  -e MEDIA_DIR=/media/cartoon \\\n  -e DOWNLOAD_DIR=/media/downloads \\\n  -e BGMI_DATA_SOURCE=mikan_project \\\n  -e BGMI_HTTP_ADMIN_TOKEN=password \\\n  -e BGMI_HARDLINK_USE=true \\\n  -e FILEBROWSER_USE=true \\\n  -e ARIA2_UPDATE_TRACKERS=true \\\n  -e ARIA2_CUSTOM_TRACKER_URL=https://raw.githubusercontent.com/DDS-Derek/Aria2-Pro-Docker/main/tracker/all.list \\\n  -e ARIA2_LISTEN_PORT=6888 \\\n  -e ARIA2_RPC_PORT=6800 \\\n  -e ARIA2_RPC_SECRET= \\\n  -e ARIA2_DISK_CACHE= \\\n  -e ARIA2_IPV6_MODE= \\\n  --cap-add=NET_ADMIN \\\n  ddsderek/bgmi-all-in-one:aria2\n```\n\n**不使用内置下载器**\n\n```bash\ndocker run -itd \\\n  --name=bgmi \\\n  --restart always \\\n  -v /root/config/bgmi:/bgmi \\\n  -v /media:/media \\\n  -p 80:80 \\\n  -e TZ=Asia/Shanghai \\\n  -e PGID=1000 \\\n  -e PUID=1000 \\\n  -e UMASK=022 \\\n  -e MEDIA_DIR=/media/cartoon \\\n  -e DOWNLOAD_DIR=/media/downloads \\\n  -e BGMI_DATA_SOURCE=mikan_project \\\n  -e BGMI_HTTP_ADMIN_TOKEN=password \\\n  -e BGMI_HARDLINK_USE=false \\\n  -e FILEBROWSER_USE=true \\\n  ddsderek/bgmi-all-in-one:latest\n```\n\n### docker-compose\n\n**transmission**\n\n[docker-compose](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/blob/master/docs/example/transmission/docker-compose.yml)\n\n**Aria2**\n\n[docker-compose](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/blob/master/docs/example/aria2-pro/docker-compose.yml)\n\n**不使用内置下载器**\n\n[docker-compose](https://github.com/DDS-Derek/BGmi-All-In-One-Docker/blob/master/docs/example/default/docker-compose.yml)\n\n## 参数说明\n\n### 镜像TAG\n\n|     TAG      |             解释             |\n| :----------: | :--------------------------: |\n|    latest    |     只包含BGmi程序的镜像     |\n| transmission | 包含BGmi和transmission的镜像 |\n|    aria2     |    包含BGmi和aria2的镜像     |\n\n### BGmi\n\n|         参数          |                            作用                            |\n| :-------------------: | :--------------------------------------------------------: |\n|        `-e TZ`        |                          时区设置                          |\n|       `-e PUID`       |                       启动程序用户ID                       |\n|       `-e PGID`       |                      启动程序用户组ID                      |\n|      `-e UMASK`       |                          权限掩码                          |\n|    `-e MEDIA_DIR`     |         BGmi 硬链接目录（目录必须在 `/media` 下）          |\n|   `-e DOWNLOAD_DIR`   |          BGmi 下载目录（目录必须在 `/media` 下）           |\n|   `-e BGMI_DATA_SOURCE`    | 设置 BGMI 默认数据源（bangumi_moe、mikan_project 或 DMHY） |\n| `-e BGMI_HTTP_ADMIN_TOKEN` |               设置 BGMI Web 界面身份验证令牌               |\n| `-e BGMI_HARDLINK_USE` |               是否启用镜像内置的硬链接脚本（默认开启）               |\n| `-e FILEBROWSER_USE` |               是否启用镜像内置的FileBrowser               |\n|        `-p 80`        |                       BGmi Web 端口                        |\n|      `-v /bgmi`       |                          配置文件                          |\n|      `-v /media`      |            媒体文件夹，包含下载文件和硬链接文件            |\n\n### Transmission\n\n|       参数       |           作用            |\n| :--------------: | :-----------------------: |\n|   `-e TR_USER`   | transmission Web 登入用户 |\n|   `-e TR_PASS`   | transmission Web 登入密码 |\n| `-e TR_PEERPORT` |       种子传输端口        |\n\n### Aria2\n\n此镜像内置使用Aria2-Pro，具体参数设置请看[Aria2-Pro-Docker官方说明](https://github.com/P3TERX/Aria2-Pro-Docker#parameters)\n\n## PUID GUID 说明\n\n当在主机操作系统和容器之间使用卷（`-v`标志）权限问题时，我们通过允许您指定用户`PUID`和组来避免这个问题`PGID`。\n\n确保主机上的任何卷目录都归您指定的同一用户所有，并且任何权限问题都会像魔术一样消失。\n\n在这种情况下`PUID=1000`，`PGID=1000`找到你的用途`id user`如下：\n\n```\n  $ id username\n    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)\n```\n\n## 硬链接说明\n\n硬链接 BGmi 下载的新番资源，改善文件格式以便于自动化刮削，并且不会影响保种。\n\n硬链接后的目录格式用于刮削器的自动识别，配置正确的话可以完全避免刮削。目前的配置适用于 Jellyfin 的刮削器，\n理论上也可适用于绝大多数刮削器。\n\n- 番剧存储于文件夹 `BANGUMI_FOLDER_FORMAT` 下。默认格式是 `{name}`，如“小林家的龙女仆”。\n  也可以设置为嵌套，如 `{name}/Season {season}`，即“小林家的龙女仆/Season 2”。\n- 番剧的命名格式为 `BANGUMI_FILE_FORMAT`，默认是 `S{season:0\u003e2d}E{episode:0\u003e2d}.{format}`。\n  如“S01E01.mp4”。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdds-derek%2Fbgmi-all-in-one-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdds-derek%2Fbgmi-all-in-one-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdds-derek%2Fbgmi-all-in-one-docker/lists"}