Skip to content

jsyzchen/admin-dock

Repository files navigation

Admin Dock · 后台导航

一个轻量的后台书签首页:集中保存公司或个人常用后台,用搜索、环境筛选和大图标启动台快速打开。

功能

  • Vue 3 Launchpad 首页,适配桌面、平板与手机。
  • 按名称、域名搜索,支持 ⌘/Ctrl + K 快速聚焦。
  • prod / test / dev 环境筛选与明确的文字、颜色标识。
  • 新增、编辑、删除后台;网址会自动补全协议,并从网页 <title><link rel="icon"> 识别标题与图标。
  • 网站未声明图标时回退到 /favicon.ico,图片仍不可用时显示自动生成的字母图标。
  • 支持上传 PNG、JPG、WebP、GIF、SVG 自定义图标,最大 2 MB。
  • Go API + SQLite 持久化,单容器部署,不依赖外部数据库。

效果图

ScreenShot_2026-07-16_115022_101

Docker Compose 一键部署

docker compose up -d --build

打开 http://localhost:3000。SQLite 数据保存在 Docker 命名卷 admin-dock-data 中,更新容器不会丢失。

如需更换宿主机端口:

cp .env.example .env
# 编辑 ADMIN_DOCK_PORT,然后重新启动
docker compose up -d

也可以直接指定端口:

ADMIN_DOCK_PORT=4175 docker compose up -d

停止服务:

docker compose down

只有明确需要清空全部书签时,才使用 docker compose down -v 删除数据卷。

本地开发

需要 Node.js 20+、Go 1.23+:

npm install
npm run dev

生产方式本地运行:

npm run build
npm start

默认数据库路径为 ./data/admin-dock.db,可通过 DATA_DIR 修改。

验证

npm run build
go test ./...
go vet ./...
docker compose config

API

  • GET /api/health
  • GET /api/bookmarks
  • POST /api/bookmarks
  • PUT /api/bookmarks/:id
  • DELETE /api/bookmarks/:id
  • POST /api/bookmarks/preview
  • GET /api/bookmarks/:id/icon

安全说明

当前版本定位为个人或可信内网工具,没有账号和权限系统。请勿直接暴露到公网;需要公网访问时,应在反向代理层增加认证与 HTTPS。

识别站点信息时,Go 服务会请求用户填写的网址,因此支持内网站点。请求仅允许 HTTP/HTTPS,并设置了 5 秒超时、最多 5 次跳转和 1 MB HTML 上限。

About

一个轻量的后台书签首页:集中保存公司或个人常用后台,用搜索、环境筛选和大图标启动台快速打开。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors