Skip to content

go-drive

go-drive 是一个使用 Go 和 Vue/TypeScript 编写的自托管文件管理服务器。它将本地磁盘、FTP、SFTP、WebDAV、S3、OneDrive、Google Drive 和脚本扩展盘统一到一棵虚拟目录树中,并提供权限、搜索、WebDAV、文件桶、缩略图和自动任务等能力。

首次启动的默认账号是 admin,密码是 123456。首次登录后请立即修改密码,并在公开部署前阅读安全指南

快速开始

bash
mkdir go-drive-data
docker run -d --name go-drive \
  -p 8089:8089 \
  -v "$(pwd)/go-drive-data:/app/data" \
  --restart unless-stopped \
  devld/go-drive

打开 http://localhost:8089。更多运行方式和升级方法见安装与启动升级、备份与恢复

功能概览

  • 浏览、上传、下载、复制、移动、重命名和删除文件,支持拖拽、粘贴、分片上传和 ZIP 打包下载。
  • 用户、用户组、根路径隔离和按路径读写权限。
  • 图片、音频、视频、文本、代码、PDF 与可配置的外部预览器。
  • 内置图片/文本缩略图;官方 Docker 镜像还提供 libvips 和 ffmpeg。
  • 全文文件名搜索、WebDAV 服务、路径挂载和路径属性。
  • 带访问控制、上传 Token、类型/大小限制和防盗链的文件桶。
  • Cron 或文件事件触发的复制、移动、删除和 JavaScript 任务。
  • 使用 JavaScript 安装新的 Drive 和浏览器直传适配器。

支持的 Drive

类型主要用途重要选项
本地文件服务器或 NAS 文件系统受限目录或 free-fs
FTP传统 FTP 服务并发、超时、缓存
SFTPSSH 文件服务密码/私钥、主机密钥、根路径
WebDAV其他 WebDAV 服务URL、账号、缓存
S3AWS S3 及兼容服务endpoint、region、path-style、代理传输
OneDrive个人盘、组织盘、SharePoint区域、tenant、代理传输、缓存
Google Drive个人盘和共享盘缓存、缩略图代理
Dropbox、七牛云等JavaScript 扩展脚本 Drive 仓库

具体配置和能力限制见 Drive 总览

常用操作提示

macOS 上 Ctrl⌃ Control 键(不是 ⌘ Command),Alt⌥ Option 键。

  • Ctrl / Shift + 单击:多选。
  • 从系统复制文件后按 Ctrl+V:粘贴上传。
  • Alt + 单击文件:直接下载。
  • 拖拽条目时按 Ctrl:复制;按 Shift:创建路径挂载(管理员)。
  • 文件右键菜单(移动端长按):权限、挂载、重命名等操作。

获取帮助

遇到 OAuth、S3 CORS、反向代理、权限、缓存或索引问题时,先查看故障排查。如果问题仍然存在,请在 GitHub issue 中附上版本、部署方式、相关配置(隐藏密钥)和错误日志。

基于 MIT 许可证发布。