Skip to content

在Docker容器中运行 MDCX,并通过Web界面或远程桌面进行控制。Run MDCX in a Docker container, accessible and controllable via a web interface or remote desktop.

License

Notifications You must be signed in to change notification settings

gcorance/mdcx-docker

This branch is 13 commits behind northsea4/mdcx-docker:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
northsea4
Dec 26, 2023
8eb2971 · Dec 26, 2023
Dec 26, 2023
Feb 18, 2023
Dec 24, 2023
Dec 26, 2023
Dec 24, 2023
Dec 26, 2023
Feb 18, 2023
Dec 26, 2023
Feb 28, 2023
Mar 2, 2023
Dec 24, 2023
Oct 21, 2023
Feb 18, 2023
Dec 26, 2023
Dec 25, 2023
Dec 24, 2023

Repository files navigation

GitHub stars GitHub release

👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻

📢 上游源码项目已更改为sqzw-x/mdcx,请阅读下面的更改新源码后的更新说明

👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻👆🏻


更改新源码后的更新说明

由于上游源码变更,本项目也做了相应的调整。如果需要使用20231014之后的版本,请参考以下说明进行更新。

建议的操作

直接部署新容器,然后将旧容器的配置文件等数据复制到新容器目录中。

如果想更新已有的容器,请参考下面的说明。

builtin镜像

mdcx-builtin-gui-basemdcx-builtin-webtop-base镜像。

简单来说,拉取新版镜像,然后重新部署即可。

注意.env里的MDCX_BUILTIN_IMAGE_TAG应该是latest或者最新的版本号。

建议先备份配置文件等数据,以免部署失败或未知问题导致数据丢失。

docker-compose方式,适用于mdcx-builtin-gui-basemdcx-builtin-webtop-base

cd /path/to/mdcx-docker
# 拉取新版镜像
docker-compose pull
# 重新部署
docker-compose up -d

docker-cli方式,适用于mdcx-builtin-gui-base

cd /path/to/mdcx-docker
# 拉取新版镜像
docker pull stainless403/mdcx-builtin-gui-base:latest
# 停止并删除容器,容器名称请根据实际情况修改
docker stop mdcx_builtin_gui
docker rm mdcx_builtin_gui
# 重新部署,此处省略具体命令,请根据部署文档执行相关命令
docker run ...

docker-cli方式,适用于mdcx-builtin-webtop-base

cd /path/to/mdcx-docker
# 拉取新版镜像
docker pull stainless403/mdcx-builtin-webtop-base:latest
# 停止并删除容器,容器名称请根据实际情况修改
docker stop mdcx_builtin_webtop
docker rm mdcx_builtin_webtop
# 重新部署,此处省略具体命令,请根据部署文档执行相关命令
docker run ...

src镜像

mdcx-src-gui-basemdcx-src-webtop-base镜像。

简单来说,下载新版源码,拉取新版镜像,然后重新部署即可。

注意.env里的MDCX_SRC_IMAGE_TAG应该是latest或者最新的版本号。

建议先备份配置文件等数据,以免部署失败或未知问题导致数据丢失。

下载新版源码

mdcx-src-gui-base
cd /path/to/mdcx-docker
# 备份旧版源码
mv app app-bak
# 下载新版`下载源码脚本`
mv update-src.sh update-src.sh-bak
curl -fsSL https://github.com/northsea4/mdcx-docker/raw/main/gui-base/update-src.sh -o update-src.sh
# 下载新版源码
bash update-src.sh --verbose
mdcx-src-webtop-base
cd /path/to/mdcx-docker
# 备份旧版源码
mv app app-bak
# 下载新版`下载源码脚本`
mv update-src.sh update-src.sh-bak
curl -fsSL https://github.com/northsea4/mdcx-docker/raw/main/webtop-base/update-src.sh -o update-src.sh
# 下载新版源码
bash update-src.sh --verbose

重新部署

docker-compose方式,适用于mdcx-src-gui-basemdcx-src-webtop-base
cd /path/to/mdcx-docker
# 拉取新版镜像
docker-compose pull
# 重新部署
docker-compose up -d
docker-cli方式,适用于mdcx-src-gui-base
cd /path/to/mdcx-docker
# 拉取新版镜像
docker pull stainless403/mdcx-src-gui-base:latest
# 停止并删除容器,容器名称请根据实际情况修改
docker stop mdcx_src_gui
docker rm mdcx_src_gui
# 重新部署,此处省略具体命令,请根据部署文档执行相关命令
docker run ...
docker-cli方式,适用于mdcx-src-webtop-base
cd /path/to/mdcx-docker
# 拉取新版镜像
docker pull stainless403/mdcx-src-webtop-base:latest
# 停止并删除容器,容器名称请根据实际情况修改
docker stop mdcx_src_webtop
docker rm mdcx_src_webtop
# 重新部署,此处省略具体命令,请根据部署文档执行相关命令
docker run ...

镜像

「builtin」表示内置已编译的应用,不需要额外下载安装包。 「src」表示使用应用的python源码运行,需要额外下载源码。

「gui」是最简单的版本,通过Web访问,且只能看到应用窗口。 「webtop」有比较完整的桌面环境,可以通过Web访问或RDP访问。

镜像 部署说明 网页查看 远程桌面 文件管理 浏览器
mdcx-builtin-gui-base 查看
mdcx-builtin-webtop-base 查看
mdcx-src-gui-base 查看
mdcx-src-webtop-base 查看

使用脚本部署

复制以下命令到终端运行,根据提示输入几个参数即可完成部署。

使用curl:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/northsea4/mdcx-docker/main/install.sh)"

使用wget:

bash -c "$(wget https://raw.githubusercontent.com/northsea4/mdcx-docker/main/install.sh -O -)"

手动部署

mdcx-builtin-gui-base示例

⚠️ 这里只给出一个简单的运行示例,建议查看 部署说明 了解更多细节。

# 选一个合适的目录
MDCX_DOCKER_DIR=/path/to/mdcx-docker
mkdir -p $MDCX_DOCKER_DIR && cd $MDCX_DOCKER_DIR
# 必须:相关数据或日志目录
mkdir -p mdcx-config logs data
# 必须:配置文件目录标记文件
echo "/mdcx-config/config.ini" > mdcx-config/MDCx.config

docker run -d --name mdcx \
  -p 5800:5800 `#Web访问端口` \
  -p 5900:5900 \
  -v $(pwd)/data:/config `#容器系统数据` \
  -v $(pwd)/mdcx-config:/mdcx-config `#配置文件目录` \
  -v $(pwd)/mdcx-config/MDCx.config:/app/MDCx.config `#配置文件目录标记文件` \
  -v $(pwd)/logs:/app/Log `#日志目录` \
  -v /volume2:/volume2 `#影片目录` \
  -e TZ=Asia/Shanghai \
  -e DISPLAY_WIDTH=1200 \
  -e DISPLAY_HEIGHT=750 \
  -e VNC_PASSWORD=  `#查看密码` \
  -e USER_ID=$(id -u) `#运行应用的用户ID` \
  -e GROUP_ID=$(id -g) `#运行应用的用户组ID` \
  --restart unless-stopped \
  stainless403/mdcx-builtin-gui-base:latest

浏览器访问 http://192.168.1.100:5800 使用。

mdcx-builtin-webtop-base示例

⚠️ 这里只给出一个简单的运行示例,建议查看 部署说明 了解更多细节。

MDCX_DOCKER_DIR=/path/to/mdcx-docker
mkdir -p $MDCX_DOCKER_DIR && cd $MDCX_DOCKER_DIR
# 必须:相关数据或日志目录
mkdir -p mdcx-config logs data
# 必须:配置文件目录标记文件
echo "/mdcx-config/config.ini" > mdcx-config/MDCx.config

docker run -d --name mdcx \
  -p 3000:3000 `#Web访问端口` \
  -p 3389:3389 `#RDP访问端口` \
  -v $(pwd)/data:/config `#容器系统数据` \
  -v $(pwd)/mdcx-config:/mdcx-config `#配置文件目录` \
  -v $(pwd)/mdcx-config/MDCx.config:/app/MDCx.config `#配置文件目录标记文件` \
  -v $(pwd)/logs:/app/Log `#日志目录` \
  -v /volume2:/volume2 `#影片目录` \
  -e TZ=Asia/Shanghai \
  -e AUTO_LOGIN=false `#使用默认密码(abc),且通过网页访问时,是否自动登录` \
  -e PUID=$(id -u) `#运行应用的用户ID` \
  -e PGID=$(id -g) `#运行应用的用户组ID` \
  --restart unless-stopped \
  stainless403/mdcx-builtin-webtop-base:latest
  • 使用Windows远程桌面Microsoft Remote Desktop连接 192.168.1.100:3389 使用,账号密码abc/abc
  • 浏览器访问 http://192.168.1.100:3000 使用。

公网访问

如果有公网访问的需求,请自行设置好访问密码(不要使用默认密码)。

镜像 默认 方式1
mdcx-builtin-gui-base
mdcx-src-gui-base
设置环境变量VNC_PASSWORD
mdcx-builtin-webtop-base
mdcx-src-webtop-base
abc/abc docker exec -it 容器名称 passwd abc
或进入桌面使用命令行工具执行passwd abc

申明

当你查阅、下载了本项目源代码或二进制程序,即代表你接受了以下条款:

  • 本项目和项目成果仅供技术,学术交流和docker测试使用
  • 本项目贡献者编写该项目旨在学习docker和python应用在linux平台上的打包处理
  • 用户在使用本项目和项目成果前,请用户了解并遵守当地法律法规,如果本项目及项目成果使用过程中存在违反当地法律法规的行为,请勿使用该项目及项目成果
  • 法律后果及使用后果由使用者承担
  • GPL LICENSE
  • 若用户不同意上述条款任意一条,请勿使用本项目和项目成果

更新日志

请查看 更新日志

FAQ

请查看 FAQ

About

在Docker容器中运行 MDCX,并通过Web界面或远程桌面进行控制。Run MDCX in a Docker container, accessible and controllable via a web interface or remote desktop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 78.3%
  • Dockerfile 21.7%