自托管文件管理:浏览、预览、轻量编辑,并用分类与标签组织内容。
一期交付 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/ | 缩略图缓存 |
镜像内由 Go 同时提供 API 与静态前端,对外 8080(不再单独跑 Vite)。镜像已含 ffmpeg。
| 宿主机 | 容器内 | 说明 |
|---|---|---|
…/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 根下| 文档 | 说明 |
|---|---|
| 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/ # 界面预览图(本地只读)
Content type
Image
Digest
sha256:d1435a8a3…
Size
55.4 MB
Last updated
10 days ago
docker pull wannayoung/filens