Update Docker images to ghcr.io/truewhile/mmtl

Replace legacy shukebta/shukbet image references across all compose
templates, system update defaults, and security docs.

Co-authored-by: truewhile <truewhile@users.noreply.github.com>
This commit is contained in:
Cursor Agent
2026-09-02 01:59:48 +00:00
parent 313ebdd402
commit 077458df31
7 changed files with 12 additions and 26 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ MMTL 是自托管媒体系统,常部署在 NAS、家庭网络、Docker、反
我们优先支持以下版本和部署方式的安全修复: 我们优先支持以下版本和部署方式的安全修复:
- 当前 `main` 分支。 - 当前 `main` 分支。
- 最新发布镜像:`ghcr.io/shukebta/mmtl:latest`。 - 最新发布镜像:`ghcr.io/truewhile/mmtl:latest`。
- README 中推荐的 Docker Compose 第一档、第二档、第三档部署方式。 - README 中推荐的 Docker Compose 第一档、第二档、第三档部署方式。
历史版本、私有魔改镜像、未公开补丁分支和非标准部署仍可报告,但维护者可能要求先在最新 `main` 或最新镜像中复现。 历史版本、私有魔改镜像、未公开补丁分支和非标准部署仍可报告,但维护者可能要求先在最新 `main` 或最新镜像中复现。
+2 -6
View File
@@ -20,11 +20,7 @@
services: services:
mmtl: mmtl:
# 镜像二选一: image: ghcr.io/truewhile/mmtl:latest
# 方式一:GitHub 仓库镜像 GHCR(默认,推荐)
image: ghcr.io/shukebta/mmtl:latest
# 方式二:Docker Hub 备用(GHCR 拉取慢或不可用时使用)
# image: shukbet/mmtl:latest
restart: unless-stopped restart: unless-stopped
init: true init: true
@@ -101,7 +97,7 @@ services:
MMTL_SEARCH_OPENSEARCH_URL: http://opensearch:9200 MMTL_SEARCH_OPENSEARCH_URL: http://opensearch:9200
MMTL_SEARCH_INDEX: mmtl_media MMTL_SEARCH_INDEX: mmtl_media
MMTL_UPDATE_IMAGE: ghcr.io/shukebta/mmtl:latest MMTL_UPDATE_IMAGE: ghcr.io/truewhile/mmtl:latest
# 默认推荐在网页里使用容器路径 /media。 # 默认推荐在网页里使用容器路径 /media。
# 如果旧媒体库已经保存了宿主机路径 /vol1/1000/Media, # 如果旧媒体库已经保存了宿主机路径 /vol1/1000/Media,
+1 -3
View File
@@ -13,9 +13,7 @@
services: services:
mmtl: mmtl:
image: ghcr.io/shukebta/mmtl:latest image: ghcr.io/truewhile/mmtl:latest
# Docker Hub 备用:
# image: shukbet/mmtl:latest
container_name: mmtl container_name: mmtl
restart: unless-stopped restart: unless-stopped
+2 -6
View File
@@ -17,11 +17,7 @@
services: services:
mmtl: mmtl:
# 镜像二选一: image: ghcr.io/truewhile/mmtl:latest
# 方式一:GitHub 仓库镜像 GHCR(默认,推荐)
image: ghcr.io/shukebta/mmtl:latest
# 方式二:Docker Hub 备用(GHCR 拉取慢或不可用时使用)
# image: shukbet/mmtl:latest
restart: unless-stopped restart: unless-stopped
init: true init: true
@@ -92,7 +88,7 @@ services:
MMTL_CACHE_REDIS_URL: redis://redis:6379/0 MMTL_CACHE_REDIS_URL: redis://redis:6379/0
MMTL_CACHE_CACHE_DIR: /cache MMTL_CACHE_CACHE_DIR: /cache
MMTL_UPDATE_IMAGE: ghcr.io/shukebta/mmtl:latest MMTL_UPDATE_IMAGE: ghcr.io/truewhile/mmtl:latest
# 路径换算配置。左边宿主机真实路径要和 volumes 左边保持一致。 # 路径换算配置。左边宿主机真实路径要和 volumes 左边保持一致。
MMTL_MEDIA_DIR: /media MMTL_MEDIA_DIR: /media
+2 -6
View File
@@ -16,11 +16,7 @@
services: services:
mmtl: mmtl:
# 镜像二选一: image: ghcr.io/truewhile/mmtl:latest
# 方式一:GitHub 仓库镜像 GHCR(默认,推荐)
image: ghcr.io/shukebta/mmtl:latest
# 方式二:Docker Hub 备用(GHCR 拉取慢或不可用时使用)
# image: shukbet/mmtl:latest
restart: unless-stopped restart: unless-stopped
init: true init: true
@@ -112,7 +108,7 @@ services:
MMTL_CACHE_CACHE_DIR: /cache MMTL_CACHE_CACHE_DIR: /cache
# 管理面板热更新默认拉取此镜像,并用 Watchtower 一次性重建当前容器。 # 管理面板热更新默认拉取此镜像,并用 Watchtower 一次性重建当前容器。
MMTL_UPDATE_IMAGE: ghcr.io/shukebta/mmtl:latest MMTL_UPDATE_IMAGE: ghcr.io/truewhile/mmtl:latest
# 路径换算配置。 # 路径换算配置。
# 默认推荐在网页里使用容器路径 /media。 # 默认推荐在网页里使用容器路径 /media。
+1 -1
View File
@@ -20,7 +20,7 @@ const (
SystemUpdateCommandSettingKey = "system.update.command" SystemUpdateCommandSettingKey = "system.update.command"
SystemUpdateComposeDirSettingKey = "system.update.compose_dir" SystemUpdateComposeDirSettingKey = "system.update.compose_dir"
DefaultSystemUpdateImage = "ghcr.io/shukebta/mmtl:latest" DefaultSystemUpdateImage = "ghcr.io/truewhile/mmtl:latest"
DefaultSystemUpdateWatchtowerImage = "containrrr/watchtower:latest" DefaultSystemUpdateWatchtowerImage = "containrrr/watchtower:latest"
) )
+3 -3
View File
@@ -10,7 +10,7 @@ import (
func TestRenderSystemUpdateCommand(t *testing.T) { func TestRenderSystemUpdateCommand(t *testing.T) {
status := SystemUpdateStatus{ status := SystemUpdateStatus{
Image: "ghcr.io/shukebta/mmtl:latest", Image: "ghcr.io/truewhile/mmtl:latest",
WatchtowerImage: "containrrr/watchtower:latest", WatchtowerImage: "containrrr/watchtower:latest",
ContainerID: "abc123def456", ContainerID: "abc123def456",
ContainerName: "mmtl", ContainerName: "mmtl",
@@ -28,7 +28,7 @@ func TestRenderSystemUpdateCommand(t *testing.T) {
for _, want := range []string{ for _, want := range []string{
"containrrr/watchtower:latest", "containrrr/watchtower:latest",
"mmtl", "mmtl",
"ghcr.io/shukebta/mmtl:latest", "ghcr.io/truewhile/mmtl:latest",
"abc123def456", "abc123def456",
} { } {
if !strings.Contains(got, want) { if !strings.Contains(got, want) {
@@ -65,7 +65,7 @@ func TestComposeTargetInDirMatchesMMTLCompose(t *testing.T) {
if err := os.WriteFile(filepath.Join(dir, "docker-compose.yml"), []byte(` if err := os.WriteFile(filepath.Join(dir, "docker-compose.yml"), []byte(`
services: services:
mmtl: mmtl:
image: ghcr.io/shukebta/mmtl:latest image: ghcr.io/truewhile/mmtl:latest
`), 0o600); err != nil { `), 0o600); err != nil {
t.Fatal(err) t.Fatal(err)
} }