PicoShare + Docker 实战:打造极简自托管文件分享系统

PicoShare + Docker 实战:打造极简自托管文件分享系统

  • 一、PicoShare介绍
    • [1.1 PicoShare简介](#1.1 PicoShare简介)
    • [1.2 PicoShare优点](#1.2 PicoShare优点)
    • [1.3 PicoShare使用场景](#1.3 PicoShare使用场景)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载PicoShare镜像
  • 五、部署PicoShare
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑docker-compose.yaml文件](#5.2 编辑docker-compose.yaml文件)
    • [5.3 创建PicoShare容器](#5.3 创建PicoShare容器)
    • [5.4 检查PicoShare容器状态](#5.4 检查PicoShare容器状态)
    • [5.5 检查PicoShare容器日志](#5.5 检查PicoShare容器日志)
  • 六、访问PicoShare首页
    • [6.1 进入PicoShare登录页](#6.1 进入PicoShare登录页)
    • [6.2 访问PicoShare首页](#6.2 访问PicoShare首页)
  • 七、PicoShare的基本使用
    • [7.1 上传文件](#7.1 上传文件)
    • [7.2 查看分享文件](#7.2 查看分享文件)
    • [7.3 查看文件列表](#7.3 查看文件列表)
    • [7.4 创建访客链接](#7.4 创建访客链接)
    • [7.5 查看磁盘空间大小](#7.5 查看磁盘空间大小)
  • 八、总结

一、PicoShare介绍

1.1 PicoShare简介

PicoShare是一种极简、易于托管的服务,用于共享图像和其他文件。

1.2 PicoShare优点

  • 直接下载链接:PicoShare 为您提供可以与任何人共享的直接下载链接。他们可以在没有广告或注册的情况下查看或下载文件。
  • 没有文件限制:与 imgur、Vimeo 或 SoundCloud 等只允许您共享特定类型文件的网站不同,PicoShare 允许您共享任何大小的任何文件。
  • 无需调整大小/重新编码:如果您上传图像、视频或音频等媒体,PicoShare 绝不会强迫您等待重新编码。上传文件后,您会立即获得直接下载链接,PicoShare 绝不会调整文件大小或重新编码您的文件。

1.3 PicoShare使用场景

  • 在工作场所共享文件:PicoShare可以用于在团队内部共享图像和其他文件。团队成员可以上传和下载文件,以便轻松地共享项目资料、设计文件、报告等。这样可以提高团队合作和协作效率。

  • 在个人博客或网站上展示图片:PicoShare可以用于个人博客或网站上展示图片。用户可以将图片上传到PicoShare,并使用PicoShare提供的链接将图片嵌入到自己的博客或网站中。

  • 在社交媒体上分享图片:PicoShare可以用于在社交媒体平台上分享图片。用户可以将图片上传到PicoShare,并使用PicoShare提供的链接在社交媒体上分享给朋友、粉丝或关注者。

  • 在论坛或社区分享图片:PicoShare可以用于在论坛或社区分享图片。用户可以将图片上传到PicoShare,并将链接分享给论坛或社区的其他成员,以便展示、讨论或解答问题。

  • 在移动设备上传输文件:PicoShare可以用于在移动设备之间传输文件。用户可以将文件上传到PicoShare,并使用PicoShare提供的链接在不同设备之间进行传输和共享。

  • 进行临时文件共享:PicoShare可以用于临时文件共享,例如在会议上传递资料或在团队合作临时需要共享文件的场合。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署PicoShare工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

bash 复制代码
[root@jeven ~]#  systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-01-21 14:36:20 CST; 24h ago
     Docs: https://docs.docker.com
 Main PID: 70926 (dockerd)
    Tasks: 22
   Memory: 59.9M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载PicoShare镜像

从docker hub拉取PicoShare镜像

bash 复制代码
[root@jeven ~]# docker pull  mtlynch/picoshare
Using default tag: latest
latest: Pulling from mtlynch/picoshare
3695f6c099b8: Pull complete
310a6e8c94e1: Pull complete
5f31d7ececf5: Pull complete
29a0c806d8ab: Pull complete
fd5cc2ea1e0b: Pull complete
53f5193c4004: Pull complete
39f1be42c455: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:0373b57465518a26429891831f993752a7b51bb18d581b6b06527ea478fb6ab5
Status: Downloaded newer image for mtlynch/picoshare:latest
docker.io/mtlynch/picoshare:latest

五、部署PicoShare

5.1 创建部署目录

创建部署目录/data/picoshare

bash 复制代码
mkdir -p /data/picoshare  && cd /data/picoshare

5.2 编辑docker-compose.yaml文件

使用docker-cli方式部署,执行命令如下:

bash 复制代码
docker run \
  --env "PORT=4001" \
  --env "PS_SHARED_SECRET=somesecretpass" \
  --publish 4001:4001/tcp \
  --volume "${PWD}/data:/data" \
  --name picoshare \
  mtlynch/picoshare

本次实践部署使用docker compose方式,编辑docker-compose.yaml文件,可自行修改密码和映射端口。

yaml 复制代码
version: "3.2"
services:
  picoshare:
    image: mtlynch/picoshare
    restart: always
    environment:
      - PORT=4001
      - PS_SHARED_SECRET=admin # Change to any password
    ports:
      - 4261:4001
    command: -db /data/store.db
    volumes:
      - ./data:/data

5.3 创建PicoShare容器

使用docker-compose.yaml文件创建PicoShare容器

bash 复制代码
docker compose up -d

5.4 检查PicoShare容器状态

检查PicoShare容器状态,确保PicoShare容器正常启动。

bash 复制代码
[root@jeven picoshare]# docker compose ps
NAME                    COMMAND                  SERVICE             STATUS              PORTS
picoshare-picoshare-1   "/app/docker-entrypo..."   picoshare           running             0.0.0.0:4261->4001/tcp, :::4261->4001/tcp

5.5 检查PicoShare容器日志

检查PicoShare容器运行日志,确保PicoShare服务正常运行。

bash 复制代码
docker compose logs

六、访问PicoShare首页

6.1 进入PicoShare登录页

访问地址:http://192.168.3.166:3000,将IP替换为自己服务器IP地址,进入到PicoShare首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。点击右上角登录选项,进入PicoShare登录页。

6.2 访问PicoShare首页

填写之前在docker-compose.yaml中自定义的密码,进入PicoShare首页。


七、PicoShare的基本使用

7.1 上传文件

点击上传文件选项,将本地文件上传到PicoShare。

7.2 查看分享文件

复制文件的分享链接,将分享链接发送给其他人。

在浏览器打开文件分享链接,则可以在线预览文件,也可以点击下载分享文件。

7.3 查看文件列表

点击上方的"Files"模块,可以看到所有上传的文件列表。

7.4 创建访客链接

选择"Guest Links"模块,访客链接允许其他用户将文件上传到此 PicoShare 服务器无需登录。如果想让某人轻松找到一种方式,通过访客链接来共享文件。

  • 选择新建访客链接
  • 填写访客链接相关信息,确认创建。
  • 查看访客链接列表
  • 通过访客链接,不登录上传文件。


7.5 查看磁盘空间大小

system------Disk Usage,查看磁盘使用情况。


八、总结

PicoShare是一款轻量级的文件共享工具,为我们的日常工作与学习提供了很大的便利。它具有直观简洁的界面,操作也非常简单,能够快速上传文件。特别是访客链接的功能,使得我们可以方便地分享临时文件,免去了其他人的登录步骤,非常实用。此外,PicoShare能够快速打开共享文件,共享链接的有效期还可以自定义,根据需要设置链接的过期时间,非常符合我们的需求。总的体验下来,PicoShare是一款优秀的文件共享工具,值得一用!

相关推荐
Hommy8819 分钟前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
一叶知秋yyds1 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组2 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪2 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人2 小时前
docker compose部署kafka集群搭建
docker·容器·kafka
safestar20123 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘3 小时前
负载均衡的多维深度解析
运维·负载均衡
楠奕3 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT4 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!4 小时前
Linux常用指令(2)
linux·运维·服务器