如何在群晖本地搭建在线PS工具Potopea并实现无公网IP远程编辑图片

本文主要是介绍如何在群晖本地搭建在线PS工具Potopea并实现无公网IP远程编辑图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1. 部署Photopea
    • 2. 运行Photopea
    • 3. 群晖安装Cpolar
    • 4. 配置公网地址
    • 5. 公网访问测试
    • 6. 固定公网地址

本文主要介绍如何在群晖NAS使用Docker部署Potopea在线图片编辑工具,并结合cpolar内网穿透实现公网环境可以远程访问本地部署的Potopea.

Photopea是一款强大而免费的在线图片编辑器,它拥有与Photoshop相似的界面和功能,非常适用于各种图片编辑需求,无论是专业的设计师还是普通用户都可以使用它来进行图片编辑。

Photopea 支持本地部署,好处在于部署在自己的设备上,可以通过本地浏览器进行访问,只需部署一次,其他设备只要打开浏览器通过局域网IP即可访问,而不需要重新安装,不好之处在于本地部署访问只能局限于在本地局域网内的设备电脑,访问有局限性,其他网络设备无法访问,那么如果要做到在任何设备网络也能访问呢,这里介绍一个内网穿透方案,结合内网穿透工具即可实现,无需云服务器,当本地部署Photopea 后,再结合内网穿透工具穿透相关的本地端口,然后通过生成的公网域名,即可实现远程异地访问.

Cpolar是一款强大的内网穿透软件,它能够在多个操作系统上无缝运行,包括Windows、MacOS和Linux,因此无论您使用哪种操作系统,都可以轻松将本地内网服务器的HTTP、HTTPS、TCP协议端口映射为公网地址端口,使得公网用户可以轻松访问您的内网服务,无需部署至公网服务器.

1. 部署Photopea

本例群晖版本由于无法直接在群晖控制面板docker界面搜索下载docker镜像,所以采用命令行方式进行镜像下载,首先开启群晖ssh连接,然后使用工具通过ssh连接上群晖,然后执行下面命令拉取镜像,执行后等待拉取完成

sudo docker pull registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea

image-20240407121947489

完成后,在群晖Container Manager界面—映像列表可以看到我们拉取的Photopea容器,表示拉取成功,下面进行运行Photopea.

image-20240407122322475

2. 运行Photopea

拉下来的镜像后,选中点击左上角运行,进入设置容器界面

image-20240407132713091

进入容器设置后,首先可以修改一下名称,然后点击下一步

image-20240407133002882

然后设置一个对外访问的端口,按默认端口设置即可,设置为2887,然后点击下一步

image-20240407133155723

确认参数无误后点击完成,点击完成后会自动运行

image-20240407133253985

打开容器界面,可以看到对应运行的Photopea容器,下面进行本地访问

image-20240407133530951

容器运行后,在外部浏览器输入群晖局域网IP加设置的对外访问端口2887,即可成功看到Photopea界面,本地访问表示成功了

image-20240407134236916

点击New Project即可创建项目,还可以支持全屏显示,这样一个本地ps图片编辑工具就部署好了,只需要在浏览器即可打开访问,下面我们安装cpolar内网工具穿透,实现远程任意设备网络也可以访问,无需公网IP 无需云服务器.

image-20240407134355334

3. 群晖安装Cpolar

cpolar 提供了群晖安装的套件,点击下面Cpolar群晖套件下载地址,下载相应版本的群晖Cpolar套件,如果找不到对应的型号,可以选择相近版本型号套件

https://www.cpolar.com/synology-cpolar-suite,

20221222170135

打开群晖套件中心,点击右上角的手动安装按钮。

image-20240111165335915

选择我们本地下载好的cpolar套件安装包,然后点击下一步

image-20240111165603922

点击同意按钮,然后点击下一步

image-20240111165702028

最后点击完成即可。

image-20240111165721365

安装完成后,在外部浏览器,我们通过群晖的局域网ip地址9200端口访问Cpolar的Web管理界面,然后输入Cpolar邮箱账号与密码进行登录

image-20230612165349594

4. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Photopea的公网地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:2887(本地访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20240407135551644

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种方式都可以访问

image-20240407135800658

5. 公网访问测试

使用上面cpolar生成的https地址,在任意浏览器输入访问,即可看到Photopea界面,这样一个远程访问的地址域名就设置好了,无需公网IP,无需云服务器,实现了远程异地访问该ps 工具

image-20240407140021759

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:photopea.cpolar.cn),这样更显正式,便于流交协作。

6. 固定公网地址

由于以上使用Cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240407140508953

保留成功后复制保留成功的二级子域名的名称

image-20240407140531573

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240407140611495

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不要重复点击)

image-20240407140656430

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名的名称域名

image-20240407140743285

最后,我们使用固定的公网http地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了!
image-20240407140909366

这篇关于如何在群晖本地搭建在线PS工具Potopea并实现无公网IP远程编辑图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896260

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、