使用docker-compese部署SFTPGo详解
官网:SFTP & FTP as a Managed Service (SaaS) and On-premise
一、SFTPGo简介
SFTPGo 是一款功能强大的文件传输服务器软件。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多个存储后端。
借助 SFTPGo,您可以利用本地和云存储后端在内部或与业务合作伙伴交换和存储文件,并使用您已经熟悉的相同工具和流程。
WebAdmin UI 允许轻松创建和管理您的用户、文件夹、组和其他资源。
WebClient UI 允许最终用户更改其凭据、在浏览器中浏览和管理其文件,并设置适用于 Microsoft Authenticator、Google Authenticator、Authy 和其他兼容应用程序的双因素身份验证。
二、SFTPGo配置文件
###创建数据目录
# mkdir /opt/sftpgo/data
###数据目录授权,此步骤跳过会造成服务启动时提示创建目录没权限
# chmod -R 777 /opt/sftpgo/data
###创建yml配置文件
# vi /opt/sftpgo/docker-compose.yml
version: '3.7'
services:sftpgo:container_name: sftpgoimage: drakkan/sftpgo:v2.6.4-alpineenvironment: SFTPGO_FTPD__BINDINGS__0__FORCE_PASSIVE_IP: 192.168.1.1 #FTP服务器访问地址SFTPGO_FTPD__BINDINGS__0__PORT: 2121 #FTP文件传输协议端口SFTPGO_FTPD__PASSIVE_PORT_RANGE__END: 50100 #FTP数据传输范围(结束端口)SFTPGO_FTPD__PASSIVE_PORT_RANGE__START: 50000 #FTP数据传输范围(开始端口)SFTPGO_SFTPD__BINDINGS__0__PORT: 2022 # SFTP安全文件传输协议端口SFTPGO_WEBDAVD__BINDINGS__0__PORT: 10080 #WebDAV网页文件传输协议端口volumes:- ./data/data:/srv/sftpgo- ./data/config:/var/lib/sftpgoports:- 8080:8080 #SFTPGo网页管理端口- 2022:2022- 2121:2121- 50000-50100:50000-50100- 10080:10080restart: always
三、SFTPGo使用
1.初始化
首次登录地址 http://localhost:8080/web/admin,请替换为适当的 IP 地址,创建第一个管理员和一个新的 SFTPGo 用户

注:
- Storage:支持多种存储协议(本地磁盘、S3、SFTP、Azure Blob、HTTP协议等)
- Root directory :选择本地存储时,此存储路径是容器内的路径
2.创建虚拟文件夹
虚拟文件夹是 SFTPGo 虚拟路径与用户主目录外部或其他存储提供程序上的文件系统路径之间的映射。

3.创建用户组
使用组允许您将设置分配给组一次,而不是将设置分配给每个用户多次,从而简化了多个账户的管理。
SFTPGo 支持以下类型的组:主要组、辅助组、成员身份组

注:
- File system :用户组可以创建关联该组的数据目录
- Virtual folders:关联已有的虚拟文件夹
4.创建用户
创建用户时可以关联用户组和虚拟文件夹,创建用户时又很多附件权限可选择(ACLs、密钥证书、组、虚拟目录等高级选项)
创建用户时,会默认创建一个存储目录。`例:/srv/sftpgo/data/admin` 此地址可以手动修改
5、使用ftp协议访问
5.1.使用windows文件资源管理器访问
打开windows的“文件资源管理器” — 输入ftp地址“ftp://192.168.1.1/” — 输入账户密码,登录成功后就可以看到该用户所属的默认数据目录和已授权的虚拟文件夹了。
5.2.使用工具访问
可下载FileZilla、WINSCP客户端,免费且支持多种协议连接。使用工具登录时需注意不通协议使用端口号不同。建议使用sftp加密协议传输文件,更加安全。
5.3 服务端口
查看服务状态和服务端口号

SFTPGo还有很多高级功能,大家可以慢慢研究~~~
相关文章:
使用docker-compese部署SFTPGo详解
官网:SFTP & FTP as a Managed Service (SaaS) and On-premise 一、SFTPGo简介 SFTPGo 是一款功能强大的文件传输服务器软件。它支持多种协议(SFTP、SCP、FTP/S、WebDAV、HTTP/S)和多个存储后端。 借助 SFTPGo,您可以利用本地…...
Ajax基础总结(思维导图+二维表)
一些话 刚开始学习Ajax的时候,感觉很模糊,但是好像学什么都是这样的,很正常,但是当你学习的时候要持续性敲代码,边敲代码其实就可以理解很多了。然后在最后的总结,其实做二维表之后,就可以区分…...
Spring Task和WebSocket使用
在现代 Web 应用中,WebSocket 作为一种全双工通信协议,为实时数据传输提供了强大的支持。若要确保 WebSocket 在生产环境中的稳定性和性能,使用 Nginx 作为反向代理服务器是一个明智的选择。本篇文章将带你了解如何在 Nginx 中配置 WebSocket…...
微信小程序 本地调试和vconsole可以 但在体验上页面不请求数据
微信小程序页面不请求数据 本地调试和vconsole可以 但在体验版页面不请求数据,如遇到这类问题基本都是一样的解决办法 1、如何调试找到问题 首先要把小程序本地设置的不校验合法域名关掉,不然本地一直都是好的 然后通过本地真机调试打断点找到问题位…...
QT:将QTableWidget内容写入txt文件中
文章详请:最近在做手在眼上的标定,首先要采集机械臂数据和图像数据,我使用tablewidget进行机械臂数据的显示,最后的计算需要将机械臂位姿数据存储在txt文件中。 引用:Qt如何保存tableWidget数据?_qt table…...
前端面试题(六)
1.let,var,const区别 1.作用域: var:var声明的变量存在函数作用域或全局作用域,这意味着它们在声明它们的函数内部可见,而不在块级作用域内可见。 let和const:let和const声明的变量存在块级作用域,这…...
「Mac畅玩鸿蒙与硬件35」UI互动应用篇12 - 简易日历
本篇将带你实现一个简易日历应用,显示当前月份的日期,并支持选择特定日期的功能。用户可以通过点击日期高亮选中,还可以切换上下月份,体验动态界面的交互效果。 关键词 UI互动应用简易日历动态界面状态管理用户交互 一、功能说明…...
Leetcode581. 最短无序连续子数组(HOT100)
链接 我的代码: class Solution { public:int findUnsortedSubarray(vector<int>& nums) {vector<int> res nums;sort(res.begin(),res.end());int l 0,r nums.size()-1;while(nums[l]res[l]){l;if(lnums.size()){return 0;}}while(nums[r]res…...
HTML前端开发-- Flex布局详解及实战
引言 Flex布局,全称为Flexible Box Layout,是一种现代CSS布局技术,它提供了一种更有效的方式来设计响应式布局和复杂页面布局。本文将详细介绍Flex布局的基本概念、属性以及实战应用。 一、基本概念 Flex布局的核心是Flex容器(…...
基于JWT跨语言开发分布式业务系统的挑战与实践:多语言协作的最佳方案
在现代分布式架构下,开发团队往往由来自不同技术栈和开发语言的工程师组成。如何有效地管理这些开发人员的协作,尤其是在实现跨语言的认证与授权机制时,成为了开发者面临的一个重大挑战。JSON Web Token(JWT)作为一种轻…...
二分法篇——于上下边界的扭转压缩间,窥见正解辉映之光(2)
前言 上篇介绍了二分法的相关原理并结合具体题目进行讲解运用,本篇将加大难度,进一步强化对二分法的掌握。 一. 寻找峰值 1.1 题目链接:https://leetcode.cn/problems/find-peak-element/description/ 1.2 题目分析: 题目要求返回数组内…...
什么是 Kata Containers?
什么是 Kata Containers? Kata Containers 是一种结合了容器技术和虚拟机技术的轻量级运行时,旨在提供容器的速度和虚拟机的安全性。它将容器运行在一个隔离的虚拟机中,从而大幅提升安全性,同时保持容器的高效性。 Kata Contain…...
SpringMvc项目配置RabbitMq
前言:只有消费者部分,没有记录生产者部分 结构图 配置类 可以xml配置,也可以配置类,二者可以相互转化。两种bean注入的方式。 import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.spring…...
shell编程(4)脚本与用户交互以及if条件判断
shell编程(4)脚本与用户交互以及if条件判断 声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章 笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,…...
vue2组件跨层级数据共享provide 和 inject
在 Vue 2 中,provide 和 inject 的功能也是可以使用的,虽然在 Vue 3 中它们成为了组合式 API 的一部分。在 Vue 2 中,provide 和 inject 主要是用于祖先组件和后代组件之间的数据共享,而不是通过 props 和 emit 逐层传递。 Vue 2…...
springboot/ssm校园闲置物品交易系统ava大学生二手闲置交易平台web二手源码
springboot/ssm校园闲置物品交易系统ava大学生二手闲置交易平台web二手源码 基于springboot(可改ssm)htmlvue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数…...
Redis实现限量优惠券的秒杀
核心:避免超卖问题,保证一人一单 业务逻辑 代码步骤分析 全部代码 Service public class VoucherOrderServiceImpl extends ServiceImpl<VoucherOrderMapper, VoucherOrder> implements IVoucherOrderService {Resourceprivate ISeckillVoucher…...
Linux centOS 7 安装 rabbitMQ
1.安装前需要了解,rabbitmq安装需要先安装erlang,特别注意的是erlang与rabbitmq的版本之间需要匹配。 el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm - rabbitmq/rabbitmq-server packagecloud 3.10版本的rabbitmq 对于erlang的版本要求可以看此连接…...
活着就好20241202
亲爱的朋友们,大家早上好!今天是2024年12月2日,第49周的第一天,也是十二月的第二天,农历甲辰[龙]年十月三十。在这个全新月份的开始、阳光初升的清晨,愿第一缕阳光悄悄探进你的房间,带给你满满的…...
自由学习记录(28)
C# 中的流(Stream) 流(Stream)是用于读取和写入数据的抽象基类。 流表示从数据源读取或向数据源写入数据的矢量过程。 C# 中的流类是从 System.IO.Stream 基类派生的,提供了多种具体实现,每种实现都针对…...
linux IO重定向
IO中的文件描述符0 ,stdin, 标准输入, 指向键盘 1 ,stdout, 标准输出, 指向终端屏幕 2 ,stderr, 标准错误输出, 指向终端屏幕 /dev/null 无底洞,有些不想要的输出信息可以送到这里。& , 在重定向中引用文件描述符.例子.2>&1 , 把 stderr(文…...
Hermes Agent项目如何接入Taotoken作为自定义模型提供商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent项目如何接入Taotoken作为自定义模型提供商 Hermes Agent 是一个功能强大的 AI 代理框架,它支持通过自定义…...
贝叶斯压缩技术优化空间回归模型计算效率
1. 空间回归模型与贝叶斯压缩概述空间回归模型是分析地理空间数据的核心工具,它通过空间位置信息建模变量间的非平稳关系。传统方法如高斯过程回归虽然灵活,但在处理大规模数据时面临O(N)的计算复杂度瓶颈。贝叶斯数据压缩技术通过随机线性变换实现维度约…...
Windows 环境下 NVM 安装与 Node.js 版本管理完全指南
💡 为什么需要 NVM? 作为前端开发者,你是否遇到过这些困扰: 场景痛点新项目要求 Node 20,老项目依赖 Node 16频繁卸载重装,浪费时间团队协作时环境不一致代码在同事电脑上跑不通全局安装的依赖版本冲突升…...
AI如何悄然重塑日常生活:从工具到环境的四层渗透
1. 这不是未来预告,是此刻正在发生的日常渗透“AI正在 quietly taking over your daily life”——这句话里最值得玩味的,不是“AI”,也不是“taking over”,而是那个轻描淡写的quietly(悄然地)。它不敲锣打…...
如何5分钟掌握res-downloader:新手也能轻松下载全网视频资源的终极指南
如何5分钟掌握res-downloader:新手也能轻松下载全网视频资源的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader…...
百度网盘Mac版破解指南:免费解锁SVIP高速下载功能
百度网盘Mac版破解指南:免费解锁SVIP高速下载功能 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘Mac版下载速度慢而烦恼吗&…...
CAP 与 BASE:分布式系统取舍原则
CAP 和 BASE 不是为了背概念,而是为了指导分布式系统在网络异常、数据同步和服务可用之间怎么取舍。尤其是分布式事务,最终都绕不开强一致和最终一致的选择。 一句话概括:分布式系统里 P 几乎无法避免,所以真正的取舍通常发生在 C…...
对比按Token计费与传统套餐在项目中的成本体感差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按Token计费与传统套餐在项目中的成本体感差异 在开发项目中引入大模型能力时,成本控制是团队必须面对的现实问题。…...
KMS智能激活工具:3分钟彻底解决Windows和Office激活难题
KMS智能激活工具:3分钟彻底解决Windows和Office激活难题 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统频繁弹出激活提示而烦恼吗?Office文档突然变成…...
