FlatNas 是一个轻量级、高度可定制的个人导航页与仪表盘系统。它基于 Vue 3 与 Go(Gin) 构建,旨在为 NAS 用户、极客和开发者提供一个优雅的浏览器起始页。 交流QQ群:613835409
FlatNas 内置了多种实用的小组件,满足日常需求:


FlatNas 提供了丰富的自定义选项,并自建了60000个图标的图标库,满足不同用户的需求:
![]()
#ffffff) 自定义图标背景色。server/data/data.json),数据完全掌握在自己手中。admin),保护隐私配置。
FlatNas 支持通过后端代理转发请求,以解决内网服务无法直接访问外网资源的问题,或实现简单的隐私保护。
设置环境变量
在 docker-compose.yml 或启动命令中添加 PROXY_URL 环境变量。
environment:
- PROXY_URL=http://127.0.0.1:7890
# 支持协议:http, https, socks5, socks5h
# 格式:protocol://[user:pass@]host:port
前端开启 当环境变量配置正确后,在卡片编辑或万能窗口配置中,会显示“代理”开关。开启后,该组件的所有请求将通过 FlatNas 后端服务器代为转发。
PROXY_URL 格式正确且已生效。访问 /api/config/proxy-status 可查看当前代理可用状态。PROXY_URL 指向的代理服务器是否可达。[Proxy Error] 获取详细错误信息。FlatNas 后端集成了智能网络环境识别功能,能够根据用户的访问来源自动切换内外网访问策略,完美解决混合网络环境下的访问难题。
适用于 Debian/Ubuntu,无需 Docker,脚本会自动下载最新 Release 并完成部署。
wget -O deploy_debian.sh https://raw.githubusercontent.com/Garry-QD/FlatNas/main/deploy_debian.sh
chmod +x deploy_debian.sh
sudo ./deploy_debian.sh
部署完成后,使用管理脚本进行常用运维操作(查看状态、修改端口、配置 HTTPS、查看日志、卸载)。
wget -O debian/manage.sh https://raw.githubusercontent.com/Garry-QD/FlatNas/main/debian/manage.sh
chmod +x debian/manage.sh
sudo ./debian/manage.sh
菜单功能说明:
如果需要卸载,也可以直接运行管理脚本并选择“卸载服务”。
sudo ./debian/manage.sh
适用于已能访问服务器的场景,上传 Release 包内容后直接运行。
release.zip/opt/flatnas)cd /opt/flatnas
chmod +x flatnas-server
./flatnas-server
访问地址:http://<服务器IP>:3000
docker run -d \
-p 23000:3000 \
-v $(pwd)/data:/app/server/data \
-v $(pwd)/doc:/app/server/doc \
-v $(pwd)/music:/app/server/music \
-v $(pwd)/PC:/app/server/PC \
-v $(pwd)/APP:/app/server/APP \
-v /var/run/docker.sock:/var/run/docker.sock \
--name flatnas \
qdnas/flatnas:latest
version: '3.8'
services:
flatnas:
image: qdnas/flatnas:latest
container_name: flatnas
restart: unless-stopped
ports:
- '23000:3000'
volumes:
- ./data:/app/server/data
- ./doc:/app/server/doc
- ./music:/app/server/music
- ./PC:/app/server/PC
- ./APP:/app/server/APP
- /var/run/docker.sock:/var/run/docker.sock
admin,请登录后在设置中及时修改。server/data/data.json 中。server/music 目录,刷新页面后即可在播放器中看到。[AutoUpdate] 与 [UpdateChecker] 关键字,统计 pulls/updates/pruned/error 次数与频率。docker images -q | wc -l(Linux)或 docker images -q | Measure-Object -Line(PowerShell)。docker info + 系统磁盘监控)。在 设置 -> 自定义 CSS 中,您可以编写全局生效的 CSS 样式。
增强语法: FlatNas 支持以下自定义标签,自动转换为媒体查询,方便响应式适配:
<mobile>...</mobile>: 仅在移动端生效 (max-width: 768px)<desktop>...</desktop>: 仅在桌面端生效 (min-width: 769px)<dark>...</dark>: 仅在深色模式下生效<light>...</light>: 仅在浅色模式下生效示例:
/* 全局修改滚动条样式 */
::-webkit-scrollbar {
width: 6px;
}
/* 仅在移动端隐藏侧边栏 */
<mobile>
.sidebar { display: none; }
</mobile>
在 设置 -> 自定义 JS 中,您可以注入 JavaScript 代码以实现高级交互或逻辑增强。 注意:启用此功能需要同意安全免责声明。
运行环境 (Runtime Context):
代码将在沙箱环境中运行,并提供 ctx 对象用于与系统交互。支持直接编写代码或导出生命周期钩子。
生命周期钩子 (推荐):
// @module
// 必须使用 export default 导出钩子对象
export default {
/**
* 初始化时调用
* @param {object} ctx - 上下文对象
*/
init(ctx) {
console.log("Custom JS Initialized");
// 示例:监听事件
ctx.on("widget-click", (e) => {
console.log("Widget clicked:", e.detail);
});
},
/**
* 更新时调用 (如配置变更)
*/
update(ctx) {
console.log("Custom JS Updated");
},
/**
* 销毁时调用 (清理资源)
*/
destroy(ctx) {
console.log("Custom JS Destroyed");
// 清理定时器、事件监听等
},
};
本项目采用 GNU AGPLv3 协议开源。
Enjoy your FlatNas! 🚀
Content type
Image
Digest
sha256:3006810ee…
Size
46.3 MB
Last updated
4 months ago
docker pull qdnas/flatnas