前言
LFS Test Server is an example server that implements the Git LFS API. It is intended to be used for testing the Git LFS client and is not in a production ready state.
lfs-test-server 是一个用于测试 Git LFS 客户端的示例服务器,并不适用于生产环境。不过,对于本地测试或个人使用场景,它已经足够实用。如果需要更成熟的生产级 Git-LFS 服务,可以考虑使用 Gitea 或 GitLab。
IMPORTANT本教程基于 Windows 系统 环境编写,命令和路径以 Windows 为准。
WARNINGLFS Test Server 仅用于开发测试场景,切勿用于生产环境部署。
安装 lfs-test-server
lfs-test-server 提供了多个版本的预编译 Windows 可执行文件,但最新的 Release 0.4.0 尚未提供预编译版本,因此需要手动编译源代码。
NOTE若需自行编译,请确保已安装 Go 环境。可前往 Go 官方网站下载安装:https://golang.google.cn
使用 Go 安装最新版本:
go install github.com/git-lfs/lfs-test-server@latest执行上述命令后,安装器会自动获取源码及所需依赖并进行编译,最终将可执行程序放置在 %GO_PATH%/bin 目录下。
使用 lfs-test-server
启动服务
lfs-test-server 默认监听 8080 端口。首次启动时会在程序目录下生成相关文件和文件夹,用于管理和存储文件。通过环境变量可以对 lfs-test-server 进行配置。
| 配置项 | 描述 | 默认值 |
|---|---|---|
| LFS_LISTEN | 服务器监听的地址和端口 | tcp://:8080 |
| LFS_HOST | 服务器生成 URL 时使用的主机 | localhost:8080 |
| LFS_METADB | 服务器用于存储元信息的数据库文件 | lfs.db |
| LFS_CONTENTPATH | 存放 LFS 文件的路径 | lfs-content |
| LFS_ADMINUSER | 管理员用户名 | 为空 |
| LFS_ADMINPASS | 管理员密码 | 为空 |
| LFS_CERT | TLS 证书文件 | 为空 |
| LFS_KEY | TLS 密钥 | 为空 |
| LFS_SCHEME | 设置为 “https” 以覆盖默认的 http | http |
| LFS_USETUS | 设置为 “true” 以启用 tusd (tus.io) 可恢复上传服务器;tusd 必须位于路径中且已单独安装 | false |
| LFS_TUSHOST | 用于启动 tusd 上传服务器的主机 | localhost:1080 |
创建配置文件 config.txt,输入以下内容并根据需要进行配置:
LFS_LISTEN=tcp://:8080LFS_HOST=localhost:8080LFS_METADB=lfs.dbLFS_CONTENTPATH=lfs-contentLFS_ADMINUSER=LFS_ADMINPASS=LFS_CERT=LFS_KEY=LFS_SCHEME=httpLFS_USETUS=falseLFS_TUSHOST=localhost:1080创建启动脚本 lfs-test-server.cmd:
@echo offsetlocal enabledelayedexpansion
:: 从配置文件中读取配置set CONFIG_FILE=config.txtfor /f "tokens=1,2 delims==" %%A in ('findstr /r "LFS_LISTEN LFS_HOST LFS_METADB LFS_CONTENTPATH LFS_ADMINUSER LFS_ADMINPASS LFS_CERT LFS_KEY LFS_SCHEME LFS_USETUS LFS_TUSHOST" "%CONFIG_FILE%"') do ( set "key=%%~A" set "value=%%~B" set "!key!=!value!")
:: 清理管理员凭据if not "%1"=="--admin" ( set "LFS_ADMINUSER=" set "LFS_ADMINPASS=")
:: 启动服务start "LFS Server" lfs-test-server.exe
endlocal执行启动脚本时传入 --admin 参数才会启用管理员账户:
lfs-test-server.cmd --admin管理服务
访问管理
启用管理员账户后,可通过 http://localhost:8080/mgmt 访问管理页面。
通过管理页面的 User 选项可新增或删除访问用户,用于提供给其他用户使用。
IMPORTANT未启用管理员账户时不会运行管理页面,此时无法访问 http://localhost:8080/mgmt
文件管理
lfs-test-server 不提供删除文件的功能。如果确定某个文件已不存在任何引用,并且不再需要该文件,需要手动查找并删除对应文件。删除文件后,使用 boltbrowser 打开 lfs.db,找到 objects 中对应的数据并删除。