用户缓存文件服务器部署指南
本指南详细说明用户缓存文件服务器的完整部署流程,涵盖二进制下载、config.yaml配置、服务启动(前台/后台/systemd)、Web后台管理以及常见问题解答,帮助您快速搭建基于API Key认证的自托管文件上传下载服务。
用户文件服务器部署指南
本服务是一个轻量级文件上传/下载服务器,支持通过 API Key 认证进行文件管理,并提供 Web 管理后台。
---
1. 下载二进制文件
根据服务器 CPU 架构选择对应版本:
| 架构 | 下载链接 |
|---|---|
| x86_64 (amd64) | user-file-manager-server-linux-amd64 |
| ARM64 | user-file-manager-server-linux-arm64 |
查看服务器架构:
uname -m
# x86_64 → 下载 amd64 版本
# aarch64 → 下载 arm64 版本

---
2. 上传到服务器
将下载好的二进制文件上传到服务器,例如上传到 /opt/file-server/ 目录:
# 创建目录
mkdir -p /opt/file-server
# 上传后添加执行权限
chmod +x /opt/file-server/user-file-manager-server-linux-amd64

---
3. 创建配置文件
在二进制文件同级目录下创建 config.yaml:
touch config.yaml
配置文件内容如下:
server:
port: 8080
server_id: "self-hosted"
auth:
api_key: "your-secret-api-key-here" # 必须修改,至少 16 位
admin_username: "admin" # 后台登录账号,留空则首次启动自动生成
admin_password: "" # 后台登录密码,留空则首次启动自动生成
storage:
upload_dir: "./uploads" # 文件存储目录,相对路径或绝对路径均可
log:
level: info # 日志级别:debug / info / warn / error
cors:
allowed_origins: [] # 允许跨域的前端域名,留空表示允许所有来源
# 示例(限制特定域名):
# allowed_origins:
# - "https://your-frontend.com"
配置参数说明
| 参数 | 类型 | 必须修改 | 说明 |
|---|---|---|---|
server.port | int | 否 | 服务监听端口,默认 8080 |
server.server_id | string | 否 | 节点标识,多节点部署时用于区分 |
auth.api_key | string | 是 | API 认证密钥,最少 16 位,调用上传/下载接口时需要携带 |
auth.admin_username | string | 否 | 后台管理账号,留空则首次启动自动生成并打印到控制台 |
auth.admin_password | string | 否 | 后台管理密码,留空则首次启动自动生成并打印到控制台 |
storage.upload_dir | string | 否 | 文件存储根目录,默认 ./uploads |
log.level | string | 否 | 日志级别,默认 info |
cors.allowed_origins | list | 否 | 跨域白名单,留空允许所有来源 |
---
4. 启动服务
前台运行(调试用)
./user-file-manager-server-linux-amd64
# ARM64 版本:
./user-file-manager-server-linux-arm64

首次启动若未配置账号密码,控制台会打印自动生成的凭据:
Admin credentials generated
Username: admin
Password: xK9mP2qR
Saved to config.yaml
请妥善保存,后续可在 config.yaml 中查看或修改。后台运行(生产环境)
nohup ./user-file-manager-server-linux-amd64 > server.log 2>&1 &
查看运行日志:
tail -f server.log
停止服务:
# 查找进程 PID
ps aux | grep user-file-manager-server
# 停止
kill <PID>
然后就可以在指纹浏览器中窗口缓存设置->自定义服务器->添加上传地址url,ApiKey了

使用 systemd 管理(推荐)
创建服务文件 /etc/systemd/system/file-server.service:
[Unit]
Description=User File Manager Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/file-server
ExecStart=/opt/file-server/user-file-manager-server-linux-amd64
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
启用并启动:
systemctl daemon-reload
systemctl enable file-server
systemctl start file-server
systemctl status file-server
---
6. 后台管理
访问 Web 管理后台:
http://your_ip:8080/admin/login

使用 config.yaml 中配置的 admin_username / admin_password 登录。
后台功能:
- 查看已上传的文件列表
- 删除文件
- 查看磁盘使用情况

---
---
7. 常见问题
Q:启动报错 api_key must be at least 16 characters
config.yaml 中的 auth.api_key 长度不足 16 位,请修改为更长的密钥。
Q:上传返回 401
请求头中缺少 X-API-Key,或 Key 值与配置文件不一致。
Q:上传返回 400 invalid file type
当前只接受 .zip 格式文件。
Q:如何修改存储目录
修改 config.yaml 中的 storage.upload_dir,重启服务生效。支持相对路径(相对于二进制文件位置)和绝对路径。
Q:如何开启跨域支持
修改 cors.allowed_origins,填入前端域名,或留空允许所有来源:
cors:
allowed_origins:
- "https://your-frontend.com"