前言
空投快传是一个能够让朋友之间快速传递文件的网站,十分轻量、便捷。
但是,如果能够搭建一个自己的分享平台,那不是更加自由便捷?
1.项目
Github上面有一个项目:Pingvin Share正好可以满足这种需求。
项目地址:https://github.com/stonith404/pingvin-share
官方Demo地址:https://pingvin-share.dev.eliasschneider.com/
根据官方文档,Pingvin Share有以下特点:
- 创建有一个共享文件,你可以通过链接访问这些文件
- 没有文件大小的限制(只要你硬盘够大)
- 支持设置共享文件的到期时间
- 支持用密码来保护你的共享
- 支持注册/关闭注册
- 支持邮件提醒接收者
2.搭建准备
系统选择:ubuntu 20.04/22.04
docker安装:【docker】在服务器上安装docker
Nginx Proxy Manager安装(可选择):【docker】反向代理神器——Nginx Proxy Manager
如果选择了Nginx Proxy Manager,请先解析一个域名到服务器上以便后续进行反向代理操作。
3.搭建
创建目录
代码语言:javascript复制sudo -i #若已经有root权限则不用
mkdir -p /root/data/docker_data/pingvin-share
cd /root/data/docker_data/pingvin-share
代码语言:javascript复制vim docker-compose.yml #创建文件
英文输入法在终端按下i
,复制粘贴以下内容:
version: '3.8'
services:
pingvin-share:
image: stonith404/pingvin-share
restart: unless-stopped
ports:
- 8080:3000 # 8080可以改成服务器上未被使用的端口
volumes:
- "${PWD}/data:/opt/app/backend/data" # ${PWD}/data表示在当前目录下创建data文件夹用于存放文件
按一下esc
,然后在终端输入:wq
之后保存退出。最后:
cd /root/data/docker_data/pingvin-share # 来到dockercompose文件所在的文件夹下
docker-compose up -d
4.反向代理
参考:【docker】Nginx Proxy Manager的使用
5.后续操作
5.1更新
代码语言:javascript复制cd /root/data/docker_data/pingvin-share
docker-compose down
cp -r /root/data/docker_data/pingvin-share /root/data/docker_data/pingvin-share.archive # 万事先备份,以防万一,其实这边没必要,因为我们没有映射到本地文件夹
docker-compose pull
docker-compose up -d # 请不要使用docker-compose stop来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
提示:
代码语言:javascript复制WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
输入y
即可。
5.2卸载
代码语言:javascript复制cd /root/data/docker_data/pingvin-share
docker-compose down
rm -rf /root/data/docker_data/pingvin-share # 完全删除映射到本地的数据
[1]