当前位置: 首页 > news >正文

解决照片内存告急和无公网访问,用Piwigo+cpolar组合刚刚好

文章目录

    • 前言:
    • 1. 安装Docker
    • 2. Docker镜像源添加方法
    • 3. 创建并启动Piwigo容器
    • 4. 本地访问测试与简单使用
    • 5. 公网远程访问本地Piwigo
      • 5.1 内网穿透工具安装
      • 5.2 创建远程连接公网地址
      • 5.3 使用固定公网地址远程访问

前言:

还在为整理家庭老照片需要反复拷贝U盘而烦恼?传统云相册服务既占用流量又担心隐私泄露。现在有一套「本地化智能方案」:通过部署Docker容器化的Piwigo系统并结合cpolar内网穿透,你的Linux服务器可变身「私有云端相册中枢」——即使远在千里之外也能安全管理照片并与亲友共享。

这种组合带来的体验升级远超预期:出差时可通过加密隧道远程上传新照片;家庭成员手机扫码即可浏览权限内的相册;更关键的是,所有数据始终存储在你自己的服务器中。cpolar的动态域名功能甚至让智能电视都能秒变大屏浏览终端——无需安装复杂插件。

Piwigo的运行环境主要包括php、MySQL、Nginx、SQL-front等,本例中,我们在Linux系统使用Docker快速进行本地部署。

image-20240902140500777

1. 安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker与docker-compose。

在终端中执行下方命令安装docker:

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

如果Github访问不了,可以使用Gitee的链接:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

然后启动Docker

sudo systemctl start docker

查看是否安装成功

sudo docker ps

2. Docker镜像源添加方法

配置docker镜像源,编辑docker配置文件

sudo nano /etc/docker/daemon.json

输入:

{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}

保存退出

重启docker:sudo systemctl restart docker

3. 创建并启动Piwigo容器

成功拉取 Piwigo 镜像后,我们创建一个该项目目录,

mkdir piwigo

然后进入该项目目录中创建docker-compose.yml

cd piwigo
nano docker-compose.yml

输入下方代码并保存退出:

version: "3"
services:piwigo:image: linuxserver/piwigonetwork_mode: bridgeports:- 8899:80links:- dbdb:image: mysql:5network_mode: bridgeenvironment:MYSQL_USER: "piwigo"MYSQL_PASSWORD: "piwigo"MYSQL_DATABASE: "piwigo"MYSQL_RANDOM_ROOT_PASSWORD: "true"

然后执行下方命令启动容器运行镜像

sudo docker compose up -d

image-20240816170540097

如需停止可以执行:

sudo docker-compose down

OK,经过以上过程,Docker部署 Piwigo相册 就完成了,现在我们可以通过任意浏览器进行访问测试。

在浏览器输入 http://localhost:8899 即可,显示下图即为访问成功!

填写好相关信息:

数据库主机: db (注意,这里要填镜像里的service名,而不是localhost)

数据库用户: piwigo

数据库密码: piwigo

数据库名: piwigo

输好后点击开始安装。

image-20240816171500205

4. 本地访问测试与简单使用

点击浏览图库后,提示图库为空,可以点击添加图片上传照片。

image-20240816171608146

image-20240816171633649

创建好相册,就可以愉快的上传图片啦!

image-20240816172042138

添加好照片后,点击左上角的访问,就可以浏览图库啦。

5. 公网远程访问本地Piwigo

不过我们目前只能在本地访问刚刚使用docker部署的Piwigo图库,如果身在异地,想要远程访问在家中部署的Piwigo并上传图片,应该怎么办呢?

我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

curl https://get.cpolar.sh | sudo sh

image-20240801132238671

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

image-20240801132301959

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:piwigo 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8899
  • 域名类型:随机域名
  • 地区:选择China VIP

image-20240816173034373

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20240816173209604

如下图所示,成功实现使用公网地址异地远程访问本地部署的 piwigo 图库!

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地 piwigo 图库或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。

5.3 使用固定公网地址远程访问

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是mypiwigo,大家也可以自定义喜欢的名称。

image-20240816173609422

保留成功后复制保留成功的二级子域名的名称:mypiwigo,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道piwigo,点击右侧的编辑:

image-20240816173716070

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

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

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

image-20240816173800055

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

image-20240816173838700

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地部署的Piwigo 图库来上传照片了!

以上就是如何在Linux Ubuntu系统使用Docker部署Piwigo 图库,并结合cpolar内网穿透工具配置公网地址,实现随时随地远程访问本地搭建的图库的全部流程。

当开源工具开始懂得「打破物理限制」,技术方案便拥有了重构日常生活的可能。Piwigo与cpolar这对组合,在家庭相册管理这个「小场景」上展现了大智慧——或许未来所有私有化服务都该有这样的「破界」能力。


文章转载自:

http://2B4b7o8E.msxhb.cn
http://X3dVSVN4.msxhb.cn
http://3S3uZf7N.msxhb.cn
http://mAb3TXCT.msxhb.cn
http://zx6ujeCi.msxhb.cn
http://djCcr3YX.msxhb.cn
http://loaDB0BG.msxhb.cn
http://uwFnkaB7.msxhb.cn
http://R2TNp1c8.msxhb.cn
http://UuQAt3Rs.msxhb.cn
http://bMUCd0v5.msxhb.cn
http://Q98NY2d5.msxhb.cn
http://idIuCekK.msxhb.cn
http://GJW8mBrj.msxhb.cn
http://uHXziAkw.msxhb.cn
http://TyNcWSgh.msxhb.cn
http://nHec9EcF.msxhb.cn
http://CP5LP1Qc.msxhb.cn
http://ovyAu3OO.msxhb.cn
http://Hikwa8uw.msxhb.cn
http://0gJfcatJ.msxhb.cn
http://jh2aW7mq.msxhb.cn
http://BS5LjvDq.msxhb.cn
http://R9iejpO3.msxhb.cn
http://d7GoiiSy.msxhb.cn
http://NwaDhsTV.msxhb.cn
http://U0RKgKys.msxhb.cn
http://4HNelDYu.msxhb.cn
http://xykUlX0C.msxhb.cn
http://UQMJa4MR.msxhb.cn
http://www.dtcms.com/a/385741.html

相关文章:

  • SQLAlchemy使用笔记(二)
  • Linux服务器日志管理与分析(以journalctl为例)
  • 即插即用,秒入虚拟:TouchDIVER Pro 触觉手套 赋能 AR/VR 高效交互
  • CentOS系统修改网卡命名的方法总结
  • 超越RGB:移动设备多光谱成像的真实世界数据集
  • 固高运动卡与 Blaster 相机协同的飞拍系统:技术实现与应用案例
  • 无法定位程序输入点于动态链接库 kernel32.dll?深度解析与5种修复方法
  • Debian/Ubuntu/CentOS手动更换内核并开启BBR拥塞算法
  • vue 使用print.js 打印文本,HTML元素,图片,PDF
  • 软件研发的演变
  • OpenTSDB 部署与运维技术文档
  • 【第三方软件测评机构:Apache JMeter分布式负载测试过程】
  • 【案例教程】R语言数据统计分析与ggplot2高级绘图实践应用
  • 大数据时代时序数据库选型指南:为何 Apache IoTDB 成优选(含实操步骤)
  • qt QCandlestickLegendMarker详解
  • Apache IoTDB(6):深入解析数据库管理操作——增删改查与异构数据库实战指南
  • 华为任旭东:开源协作,激发创新,共创智能世界 | GOSIM HANGZHOU 2025
  • 领码方案|权限即数据:企业系统中的字段级访问控制架构实战(Ver=1.1)
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘lxml’ 问题
  • Linux -- 应用层协议Http
  • MongoDB 与 MySQL:异同详解与场景选择指南
  • 金融数学专业核心课程有哪些?需要学编程吗?
  • 链接 HTTPS 出问题怎么办?(HTTPS 链接 异常 证书错误 iOS 链接 https 抓包 443 端口 调试 全攻略)
  • Linux系统学习之进阶命令汇总
  • [特殊字符] Get Jobs【工作无忧】
  • 基于springboot的计算机在线考试管理系统
  • 深入浅出CRC校验:从数学原理到单周期硬件实现 (4)硬件实现代码
  • 【面试场景题】谈谈你对Seata的理解
  • C++基础:clang的分步编译-了解build细节
  • OS-内存管理 真题复盘总结