Sign inSign up

wannayoung/filens

By wannayoung

•Updated 10 days ago

Image
0

88

wannayoung/filens repository overview

⁠Filens

自托管文件管理:浏览、预览、轻量编辑,并用分类与标签组织内容。

一期交付 Go 后端 + Vue 3 / Naive UI Web;支持中英文与浅色/深色主题。

⁠本地运行

需要 Go 1.26+、pnpm、make。视频封面依赖本机 ffmpeg(可选;未安装时视频仍可预览,仅无缩略图)。

make install   # 安装前端依赖
make dev       # 同时启动后端和前端

也可以分两个终端:

make server    # API  http://127.0.0.1:8080
make web       # Web  http://127.0.0.1:5080
make stop      # 停止后端和前端
make clean     # 停止服务,并清理构建产物和 node_modules

浏览器打开 http://127.0.0.1:5080。Vite 把 /api 代理到后端。

  • 管理员:环境变量 ADMIN_USERNAME / ADMIN_PASSWORD(make 默认 admin / admin123)。仅在数据库尚无用户时用于创建管理员;之后改密请用设置页。
  • 数据目录(FILENS_HOME,本地默认为仓库下 data/):
目录用途
data/config/filens.db(SQLite)+ config.yaml
data/storage/存储根;设置页添加的卷为其子路径
data/cache/缩略图缓存

⁠Docker 部署

镜像内由 Go 同时提供 API 与静态前端,对外 8080(不再单独跑 Vite)。镜像已含 ffmpeg。

⁠挂载(3 个)
宿主机容器内说明
…/config/filens/config必填:数据库 + YAML
…/storage/filens/storage必填:存储根
…/cache/filens/cache建议:缩略图;不挂也可,重启后重建

宿主机多个真实目录可分别 bind 到 /filens/storage/<子路径>,再在 Web 设置里登记同名相对路径。

⁠环境变量
变量必填说明
ADMIN_USERNAME是首次建库时的管理员用户名
ADMIN_PASSWORD是首次建库时的管理员密码
FILENS_HOME否默认 /filens;其下为 config / storage / cache
FILENS_WEB_DIR否镜像内已设为 /app/web
TZ否如 Asia/Shanghai

其余(监听端口、JWT、CORS、文本上限、存储卷列表)写在 config/config.yaml,首次启动自动生成。

⁠启动
cd docker
docker compose up --build -d

浏览器打开 http://127.0.0.1:8080。在 设置 → 存储卷 添加卷(名称 + 相对 storage 的路径),然后扫描。

镜像:wannayoung/filens⁠(0.1.0 / latest,linux/amd64 + linux/arm64)。

docker pull wannayoung/filens:0.1.0
# 或
cd docker && docker compose up -d

示例 Compose 见 docker/docker-compose.yml⁠;YAML 字段说明见 docker/config.example.yaml⁠。

⁠功能概览

  • 存储卷:设置页增删/启停;配置持久化到 config.yaml;路径限制在 storage 根下
  • 索引扫描:全量按卷扫描;可配置排除后缀/路径、是否显示隐藏文件(存 SQLite)
  • 文件浏览:筛选、分页、上传/下载、重命名、删除、新建目录;列表/网格;缩略图
  • 预览/编辑:图片、视频(Range)、纯文本在线编辑
  • 分类 / 标签:树形分类、标签池、单文件与批量绑定
  • 仪表盘:按类型统计与快捷入口
  • 设置:外观(语言/主题)、索引规则、存储卷、改密

⁠文档

文档说明
docs/TECHNICAL_PLAN.md⁠技术方案
docs/DEVELOPMENT.md⁠开发约定、功能清单与进度

界面参考:koto/ 各界面预览图(本地只读,不进仓库)。插画与图标在 web/src/assets/。

⁠仓库结构

filens/
├── docs/           # 技术方案与开发文档
├── server/         # Go API(cmd/filens + internal/*)
├── web/            # Vue3 + Naive UI
├── docker/         # Dockerfile / Compose / config 示例
├── data/           # 本地运行时:config / storage / cache
└── koto/           # 界面预览图(本地只读)

Tag summary

Content type

Image

Digest

sha256:d1435a8a3…

Size

55.4 MB

Last updated

10 days ago

docker pull wannayoung/filens