【docker】一款轻量的分享工具——Pingvin Share

2024-08-20 16:31:09 浏览数 (2)

前言

空投快传是一个能够让朋友之间快速传递文件的网站,十分轻量、便捷。

但是,如果能够搭建一个自己的分享平台,那不是更加自由便捷?

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,复制粘贴以下内容:

代码语言:javascript复制
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 之后保存退出。最后:

代码语言:javascript复制
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]

0 人点赞