sftpgo是一个轻量级的、高性能的文件传输服务器,具有可选的 HTTP/S、FTP/S 和 WebDAV 支持,支持多种存储后端:本地文件系统、加密本地文件系统、S3(兼容)对象存储、Google 云存储、Azure Blob 存储、SFTP

SFTPGo

Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob

SFTPGo特性

  • 用户认证:支持密码和 SSH 密钥。
  • 速率限制:设置用户上传和下载速度。
  • 存储配额:限制用户存储空间。
  • 日志记录:记录所有文件传输活动。
  • 端到端加密:通过 SFTP 和 FTPS 保障数据安全。
  • Web 管理界面:提供易用的 Web 管理界面。
  • REST API:支持自动化和集成。
  • 多语言支持:界面支持多种语言。
  • 插件系统:通过插件扩展功能。

SFTPGo 适用于需要轻量级、高性能文件传输解决方案的场景。

docker部署sftpgo涉及到端口及卷

1.sftpgo涉及到端口
2022 用于 SFTP 服务。
8080 用于 Web 管理员用户界面。
8090 用于webdav

2.sftpgo使用两个主要卷
/srv/sftpgo 处理持久数据,SFTP/FTP/WebDAV 用户的默认主目录是 /srv/sftpgo/data/
/var/lib/sftpgo是容器内定义的 sftpgo系统用户的主目录,这也是容器工作目录使用默认配置时将在此处创建主机密钥

quickstart

1.image
drakkan/sftpgo:tag
ghcr.io/drakkan/sftpgo:tag

2.run
docker run --name some-sftpgo -p 8080:8080 -p 2022:2022 -d ghcr.io/drakkan/sftpgo:v2.5.4

define storage

1.建立本地存储目录
mkdir -p /data/sftpgo/{data,home}
chown -R 1000:1000 /data/sftpgo/

2.run container
docker run -d --name some-sftpgo \
    -p 8080:8080 \
    -p 2022:2022 \
    -p 8090:8090 \
    -v /data/sftpgo/data:/srv/sftpgo \
    -v /data/sftpgo/home:/var/lib/sftpgo \
     ghcr.io/drakkan/sftpgo:v2.5.4

3.创建管理账户及新建普通用户
http://172.24.20.70:8080/web/admin/setup
http://172.24.20.70:8080/web/admin/users


4.客户端登陆
http://172.24.20.70:8080/web/client/login

上传文件后存在在位置
[root@c9-70 ~]# ll /data/sftpgo/data/data/user1/
-rw-r--r--. 1 vagrant vagrant 6845845 Jun 13 01:27 charts-master.zip
[root@c9-70 ~]# 

客户端登陆 alt text

客户端拖拽上传文件 alt text