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

在家建个照片库还不够?加个+cpolar,出门在外也能轻松管照片 - 实践

文章目录

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

前言:

Piwigo 的主要功能是搭建私有照片库,你可以把散落在手机、电脑里的照片集中存进去,还能给不同相册设置权限,控制谁能查看哪些照片,是个整理和管理照片的好帮手。

作为使用者,我觉得 Piwigo 特别实用。它界面简单,操作不复杂,家里老人也能学着用;而且所有照片都存在自己的服务器上,不用担心像用公共云相册那样有隐私泄露的风险,用着很放心。

以前 Piwigo 只能在局域网内用,挺不方便的。比如回老家想给亲戚看孩子的成长相册,得先把照片拷到 U 盘;出差时想传新拍的工作照到家庭相册,也得等回去才行。但用 cpolar 解决了局域网限制后,体验完全不一样了。现在不管在哪,只要有网络,打开手机就能看家里的相册,拍了新照片也能随时上传,还能直接发链接给亲友让他们看,不用再受地点约束,照片管理变得特别灵活。

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/piwigo
network_mode: bridge
ports:
- 8899:80
links:
- db
db:
image: mysql:5
network_mode: bridge
environment:
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

输好后点击开始安装。

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

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

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

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

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

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

image-20240816173800055

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

image-20240816173838700

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

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

Piwigo 帮你建好私有相册,cpolar 让它突破局域网。这种搭配让照片管理更自由,无论身处何地,都能轻松打理和分享你的珍贵回忆,简单又实用。

http://www.rkmt.cn/news/131452.html

相关文章:

  • 前端基础——CSS练习项目:百度热榜搭建
  • matlab simulink仿真,蓄电池超级电容器协调控制,完美跟踪给定功率曲线,功率变化快...
  • 实用指南:Scikit-learn全流程指南:Python机器学习项目实战
  • UE:材质基础知识之if判断节点
  • Python硬件检测CPU、内存、显卡、硬盘等硬件信息获取
  • C++两个冒号不同用法的含义区别
  • 【AI+医疗新突破】:Open-AutoGLM实现秒级挂号预约的5个关键步骤
  • YOLOv11 改进 - C2PSA | C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力
  • 【企业级保险监控方案】:基于Open-AutoGLM的7×24小时到期预警系统搭建
  • JavaSE——方法注意事项
  • 从语音到纪要全自动,Open-AutoGLM让会议效率提升8倍,你用了吗?
  • 12.21 模拟赛
  • 当 LinkedList 不是列表时,速度快的兔子都追不上!
  • 【Java毕设源码分享】基于springboot+vue的大学生成绩管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • hot100 238.除自身以外的数组的乘积
  • Open-AutoGLM保险管理实战指南(精准提醒+自动续保)
  • 从0到上线:中小企业如何用Open-AutoGLM搭建专属证件照服务平台
  • 揭秘Open-AutoGLM待办同步黑科技:如何实现跨平台零延迟数据同步
  • Open-AutoGLM会议纪要黑科技(90%团队还不知道的AI提效神器)
  • Open-AutoGLM待办事项同步实战指南(从配置到自动化部署)
  • Open-AutoGLM体检报告集成实战(企业级应用案例深度剖析)
  • 在 Debian 13 上搭建一个 NTP (Network Time Protocol) 服务器
  • JavaSE——成员变量和局部变量的区别
  • 国家电网Java面试被问:二叉树的前序、中序、后序遍历
  • 【Open-AutoGLM保险到期提醒】:3大智能监控策略助你零遗漏规避断保风险
  • Open-AutoGLM理财收益查询全攻略(99%人不知道的高效技巧)
  • 为什么顶尖程序员都在用Open-AutoGLM做公积金提取?真相曝光
  • Open-AutoGLM落地案例曝光:某省政务大厅办结时间从7天缩短至45分钟
  • CangjieMagic-Cjoy大模型问答Web应用示例
  • 【Open-AutoGLM用药提醒黑科技】:揭秘AI如何精准预测最佳服药时间