← 返回 TimeAmber
logo NodeSeekbeta

使用docker部署一个私有文件分享服务

论坛有人发过类似的,这是另一个项目,也分享一下。
类似于百度网盘阿里云网盘的文件分享服务。可以设置下载次数,访问密码和有效期。
项目地址:https://github.com/timvisee/send
参考:https://www.idev.ink/archives/Cqb3HqSg
我分享了两个文件,可以打开体验一下,码是:1234
https://send.vis.ee/download/079038401b149a06/#8RJqSqLaniVZ89coA6Xr3w

配置:

新建项目目录和数据目录:

mkdir -p send/uploads
cd send 
touch docker-compose.yml

下面是一个本地部署的配置文件,如果要公开访问,我里面也注释了填写域名的地方。

docker-compose.yml

services:
  send:
    image: 'registry.gitlab.com/timvisee/send:latest'
    restart: always
    ports:
      - '5679:1234' #端口映射
    volumes:
      - ./uploads:/uploads
    environment:
      - VIRTUAL_HOST=localhost:5679   #域名格式:send.example.com
      - VIRTUAL_PORT=1234

      # 应用程序配置
      - NODE_ENV=development # 开发模式或生产模式 "production/development" 
      - BASE_URL=http://localhost:5679  #外部访问地址,域名格式:https://send.example.com
      - PORT=1234
      - REDIS_HOST=redis # Redis 服务的主机名,默认为 redis

      # 本地文件存储相关配置
      - FILE_DIR=/uploads # 文件存储目录,默认为 /uploads

      # S3 对象存储相关配置(启用时需禁用 volume 和 FILE_DIR 变量)
      # - AWS_ACCESS_KEY_ID=******** # S3 的访问密钥 ID
      # - AWS_SECRET_ACCESS_KEY=******** # S3 的访问密钥
      # - S3_BUCKET=send # S3 的存储桶名称
      # - S3_ENDPOINT=s3.us-west-2.amazonaws.com # S3 的端点(如果不是 AWS,需要指定)
      # - S3_USE_PATH_STYLE_ENDPOINT=true # 是否强制使用路径风格的 URL

      # 上传和下载限制相关配置
      # - EXPIRE_TIMES_SECONDS=3600,86400,604800,2592000,31536000 # UI 中的过期时间选项(单位为秒)
      # - DEFAULT_EXPIRE_SECONDS=3600 # 默认的过期时间,单位为秒(默认为 86400)
      # - MAX_EXPIRE_SECONDS=31536000 # 最大过期时间,单位为秒(默认为 604800)
      # - DOWNLOAD_COUNTS=1,2,5,10,15,25,50,100,1000 # UI 中的下载次数选项
      # - MAX_DOWNLOADS=1000 # 最大下载次数(默认为 100)
      # - MAX_FILE_SIZE=2684354560 # 最大上传文件大小(默认为 2GB)

  redis:
    image: 'redis:alpine'
    restart: always
    volumes:
      - ./send-redis:/data

上面以本地部署为例,生产环境需要使用域名。
启动服务

docker compose up -d
使用

本地访问地址:localhost:5679

打开后自动中文界面,非常简洁

image
image

12
12
内容
预览
对照
AC娘
洋葱头
小黄鸡
set 限制解除