MT Photos图库部署详解:Docker搭建+贝锐蒲公英异地组网远程访问

如今,私有化部署轻量级图床/图库系统,已经成为越来越多用户的高频需求。而MT Photos,正是一款非常适合在Docker环境下运行的自托管图床/图库系统。

MT Photos基于Node.js与Vue构建,界面简洁美观,支持多用户权限管理、多目录挂载、批量上传、标签分类、图片备注、缩略图自动生成等功能,整体体验非常丝滑。不论是搭建私人图床、博客图源、作品素材库,还是用于团队图片管理,它都能胜任。

以下内容将以Windows Docker环境为例,带大家完成MT Photos的本地部署,并结合贝锐蒲公英异地组网,解决“没有公网IP无法远程访问”的痛点!

一、使用Docker本地部署MT Photos

MT Photos基于Docker部署,并且支持docker-compose安装,无论是在群晖、威联通、绿联、飞牛、UNRAID NAS上,还是Windows、Linux主机,只要有Docker环境,MT Photos都能部署。

目前官网提供中文教程,如果希望详细了解,可以移步MT Photos官网,以下采用拉取Docker镜像的方式,在Windows系统中实现快速安装。

第一步,确认系统中已经安装好Docker,并且创建以下MT Photos所需的目录:

D:\mt_photos\config #存放配置文件
D:\mt_photos\upload #存放上传图片
D:\mt_photos\folder1 #可绑定的额外目录1(可选,非必须)
D:\mt_photos\folder2 #可绑定的额外目录2(可选,非必须)

第二步,一键运行Docker命令,自动拉取镜像,完成安装:

docker run -d --name="mt-photos" -v D:\mt_photos\config:/config -v D:\mt_photos\upload:/upload -v D:\mt_photos\folder1:/folder1 -v D:\mt_photos\folder2:/folder2 -p 8063:8063 -e TZ="Asia/Shanghai" --restart="unless-stopped" mtphotos/mt-photos:latest

参数说明:

  • --name="mt-photos"给容器指定一个易于识别的名称
  • -v D:\XXX\:/XXX将宿主机文件夹挂载到容器内,实现数据持久化
  • -p 8063:8063将宿主机 8063 端口映射到容器,便于外部访问
  • -e TZ="Asia/Shanghai"设置容器内时区,确保时间一致性
  • --restart="unless-stopped"容器异常退出会自动重启,除非手动停止
  • mtphotos/mt-photos:lates拉取mt-photos最新的官方镜像

部署完成后,打开浏览器访问localhost:8063,就能进入MT Photos的管理后台!

二、使用贝锐蒲公英异地组网,异地也能远程访问MT Photos

由于MT Photos通常部署在家中的主机或NAS上,而大多数家用宽带并不提供公网IP,或者没有光猫管理权限,无法进行端口转发设置,这就导致图床/图库服务只能在局域网内访问。一旦离开家中网络,想要远程查看或上传图片就无法实现。

此时,只需使用贝锐蒲公英基于SD-WAN的异地组网,就能快速实现远程访问,不仅操作简单、安全可靠,而且支持打通直连访问。

异地组网方式一:各设备安装贝锐蒲公英客户端,并登录相同贝锐账号

1.前往贝锐官网下载贝锐蒲公英客户端(支持Windows、macOS、Android、iOS、Linux、Docker以及各类NAS),在MT Photo服务器上安装客户端并登录贝锐账号。

2.远程设备如需异地访问MT Photo,同样下载贝锐蒲公英客户端,安装并登录相同的贝锐账号,可自动组网。

随后,通过贝锐蒲公英客户端内MT Photo服务器的虚拟IP地址+服务端口号即可访问。

异地组网方式二:贝锐蒲公英管理平台创建组网成员账号,各设备使用成员账号登录

1.前往贝锐官网注册账号,并进入蒲公英管理平台(console.sdwan.oray.com),随后根据引导创建虚拟局域网。

2.贝锐蒲公英支持软件客户端、蒲公英硬件设备之间任意搭配进行组网,如果没有入手蒲公英组网硬件,可以直接选择下一步,进入蒲公英管理平台添加客户端成员账号。

3-1.进入蒲公英管理平台。

3-2.在“异地组网→网络成员”菜单中,选择添加新成员。

3-3.按需添加组网成员账号,MT Photos服务器本身,以及每一台需要访问的设备(如电脑、手机)都需各自添加为组网成员。

例如:若需通过一台电脑和一台手机同时远程访问MT Photos,需要总共添加3个成员账号(含服务器端)。

4.MT Photos服务器本身以及每一台需要访问的设备,分别下载安装贝锐蒲公英客户端,并登录对应的组网成员账号。

登录成功后,各设备将自动组成一个虚拟局域网。此时,只需在蒲公英客户端查看MT Photos服务器的虚拟IP地址,加上服务端口号,即可实现远程访问。

通过上述内容,我们已经完成了MT Photos图床/图库系统的Docker快速部署,并借助贝锐蒲公英异地组网,实现了随时随地的远程访问。如果你也正在寻找一款高颜值、轻量级、易上手的图床工具,不妨试下MT Photos!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917233.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决dbeaver连接不上oceanbase数据库的问题

解决dbeaver连接不上oceanbase数据库的问题 问题: 使用dbeaver连接oceanbase数据库报错如下: ORA-00900: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘dat…

Kafka——请求是怎么被处理的?

引言在分布式消息系统中,请求处理机制是连接客户端与服务端的"神经中枢"。无论是生产者发送消息、消费者拉取数据,还是集群内部的元数据同步,都依赖于高效的请求处理流程。Apache Kafka作为高性能消息队列的代表,其请求…

区块链技术如何确保智能合约的安全性和可靠性?

智能合约作为区块链上自动执行的可编程协议,其安全性和可靠性直接决定了区块链应用的信任基础。区块链通过底层技术架构、密码学工具和机制设计的多重保障,构建了智能合约的安全防线。以下从技术原理、核心机制和实践保障三个维度展开分析:一…

2020 年 NOI 最后一题题解

问题描述2020 年 NOI 最后一题是一道结合图论、动态规划与状态压缩的综合性算法题,题目围绕 "疫情期间的物资配送" 展开,具体要求如下:给定一个有向图 G (V, E),其中节点代表城市,边代表连接城市的道路。每个…

加密与安全

目录 一、URL编码: 二、Base64编码: 三、哈希算法: 四、Hmac算法: 五、对称加密算法: 一、URL编码: URL编码是浏览器发送数据给服务器时使用的编码,它通常附加在URL的参数部分。之所以需要…

EasyExcel 公式计算大全

EasyExcel 是基于 Apache POI 的封装,主要专注于简化 Excel 的读写操作,对于公式计算的支持相对有限。以下是 EasyExcel 中处理公式计算的全面指南:1. 基本公式写入1.1 写入简单公式Data public class FormulaData {ExcelProperty("数值…

2025年AI+数模竞赛培训意见征集-最后一轮

在过去几天的“AI时代下2025年数模竞赛培训课程需求调研紧急征集”我们收到了大量老师、学生的反馈。我们通过大家的实际需求,编写了下述2025年AI时代下最新的数学建模竞赛教学课程课程表,具体授课内容以及相关课件、支撑材料都将会免费发布,…

Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗

Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗,还是全部层都有 Qwen2 模型中的 Rotary Embedding(旋转位置编码)是应用于所有 Transformer 层 的,而非仅第一层。 1. Transformer 架构的核心逻辑 Qwen2 基于 Decoder-only Transformer 架构,而位置编码(如 Rotary Emb…

CNN卷积神经网络之LeNet和AlexNet经典网络模型(三)

CNN卷积神经网络之LeNet和AlexNet经典网络模型(三) 文章目录CNN卷积神经网络之LeNet和AlexNet经典网络模型(三)深度学习两大经典 CNN 模型速览1. LeNet-5:CNN 的开山之作(1998)2. AlexNet&#…

江协科技STM32 12-2 BKP备份寄存器RTC实时时钟

这一节我们要讲的主要内容是RTC实时时钟,实时时钟本质上是一个定时器,但是这个定时器是专门用来产生年月日时分秒,这种日期和时间信息的。所以学会了STM32的RTC就可以在STM32内部拥有一个独立运行的钟表。想要记录或读取日期和时间&#xff0…

【10】大恒相机SDK C++开发 ——对相机采集的原图像数据IFrameData裁剪ROI 实时显示在pictureBox中,3种方法实现(效率不同)

文章目录1 在回调函数中实现2 独立封装调用2.1 获取图像宽、高、pBuffer、channel2.2 内存图像数据截取ROI并显示2.3 回调函数调用3 for循环嵌套 方法24 for循环嵌套 方法35 按行复制数据提高效率,但很耗内存6 unsafe代码 解释及注意事项 看我另一篇文章7 ConvertTo…

ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令

以下有免费的4090云主机提供ubuntu22.04系统的其他入门实践操作 地址:星宇科技 | GPU服务器 高性能云主机 云服务器-登录 相关兑换码星宇社区---4090算力卡免费体验、共享开发社区-CSDN博客 之所以推荐给大家使用,是因为上面的云主机目前是免费使用的…

分布式ID方案(标记)

一、参考文章-标记 分布式ID方案有哪些?雪花算法如何搞定时钟回拨和动态机器ID? 二、应用 1.百度 uid-generator github项目地址 原理参考 2.百度 uid-generator 扩展应用 灯官网 灯 项目代码 lamp-util 单元模块 lamp-util 单元模块子模块 lamp-…

std::map 加锁

在并发环境下使用std::map,必须采取同步措施。 在并发环境下对 std::map 进行不加锁的读写操作会导致严重的线程安全问题,主要会产生以下几种问题: ⚠️ 主要风险与后果数据竞争(Data Race) 当多个线程同时修改同一个键…

学习笔记090——Ubuntu 中 UFW 防火墙的使用

文章目录1、允许特定的端口访问2、允许特定 IP 访问某个端口3、允许某个范围的端口4、查看 UFW 状态5、重新加载 UFW6、启用 UFW7、关闭 UFW1、允许特定的端口访问 # 允许 TCP 端口(例如 80): sudo ufw allow 80/tcp# 允许 UDP 端口&#xf…

移动端 WebView 内存泄漏与性能退化问题如何排查 实战调试方法汇总

在混合 App 应用中,WebView 页面常承载复杂业务逻辑与交互。随着用户使用时间增长,特别在切换多个页面或反复打开界面后,常常会出现性能下降、页面卡顿、甚至白屏崩溃等现象。这通常是因为页面存在内存泄漏、事件监听未解绑或垃圾回收阻塞导致…

JSON 对象在浏览器中顺序与后端接口返回不一致的问题

一、问题描述 后端接口返回一个字典表的JSON对象,页面展示排序与预期排序不一致。 在浏览器调试面板Response中看到接口原始响应字符串,是期望顺序:在Preview中看到, key “22” 被提到最前,顺序发生变化:页…

Spring MVC数据传递全攻略

Spring MVC数据传递一、前端到后端的数据传递1. 使用 RequestParam 传递简单参数2. 使用 PathVariable传递路径参数3. 使用RequestBody传递 JSON 数据二、后端到前端的数据传递1. 使用Model或 ModelAndView传递数据到前端2. 使用HttpServletResponse直接写回数据3.使用Response…

仓库管理系统-12-前端之头部区域Header基于嵌套路由访问个人中心

文章目录 1 个人中心 1.1 DateUtils.vue(子组件) 1.2 Home.vue(父组件) 1.3 router/index.js(嵌套路由) 1.4 index.vue(路由占位符) 2 Header.vue 2.1 页面布局 2.2 toUser方法 2.3 初始加载 2.4 Header.vue 头部区域Header中有一个个人中心下拉菜单,点击个人中心选项,通过嵌…

【智能协同云图库】第七期:基于AI调用阿里云百炼大模型,实现AI图片编辑功能

摘要:AI 高速发展赋能传统业务,图库网站亦有诸多 AI 应用空间。以 AI 扩图功؜能为例,让我们来学习如何在项目⁠中快速接入 AI 绘图大模型。‏用户可以选择一张已上传的图片,‌通过 AI 扩图得到新的图片,希望可以帮到大…