论坛有人发过类似的,这是另一个项目,也分享一下。
类似于百度网盘阿里云网盘的文件分享服务。可以设置下载次数,访问密码和有效期。
项目地址: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
打开后自动中文界面,非常简洁