github项目地址:DEKVIW/book-nav: 个人书签导航
项目介绍
BookNav 是一个使用 Flask 构建的、可通过 Docker 轻松部署的个人导航网站项目。它旨在帮助用户整理和快速访问常用的网站链接,提供分类管理和丰富的交互功能,并支持邀请码注册系统来控制用户访问。
功能特性
- 右键菜单交互: 链接卡片右键可弹出快捷菜单,支持添加、编辑、删除、复制链接等操作
- 快速添加网站: 首页直接粘贴链接可弹出快速添加链接对话框,无需进入后台
- 全局快速搜索: 顶部搜索框支持即时搜索整站内容
- 多维度匹配:支持网站标题、URL、描述和关键词的全文搜索
- 分类内搜索: 在特定分类页面可限定搜索范围
- 完美兼容 OneNav 数据结构,支持无缝迁移
- 完整的后台管理界面: 独立的管理控制台
- 网站与分类管理: 完整的增删改查功能,批量删除,批量修改公开,私有状态
- 站点设置: 自定义站点名称、Logo、SEO 信息等,支持自定义背景图片,支持开启链接跳转过渡页(支持放广告)
- 邀请码管理: 生成和管理注册邀请码
- 用户管理: 首次启动默认超级管理员权限,支持查看和管理用户账户分配权限
- 邀请码注册: 仅通过邀请码才能注册新用户,确保站点的私密性
- 用户认证: 完整的登录、注册和登出功能
- 权限管理: 区分普通用户和管理员权限
- 自动获取网站图标: 自动尝试获取并显示网站的 Favicon
- 优雅的降级显示: 当图标加载失败时,显示基于网站名称首字母的默认图标
- 一致的视觉体验: 确保界面整洁一致,即使外部资源不可用
- 全设备适配: 完美支持桌面、平板和移动设备
- 布局自适应: 基于 Bootstrap 的响应式网格系统
- 触摸友好: 为移动设备优化的交互体验
项目截图


安装部署
创建docker-compose.yml文件
version: "3"
services:
nav:
image: yilan666/booknav-nav:1.4
container_name: nav
restart: always
ports:
- "8988:80" # Nginx端口
volumes:
- ./data:/data # 数据目录
- ./data/backups:/app/app/backups # 备份目录
- ./data/uploads:/app/app/static/uploads # 上传文件目录(静态文件中的上传目录)
- ./config/nginx:/etc/nginx/http.d # Nginx配置
env_file:
- .env
environment:
- DATABASE_URL=sqlite:////data/app.db
version: "3"
services:
nav:
image: yilan666/booknav-nav:1.4
container_name: nav
restart: always
ports:
- "8988:80" # Nginx端口
volumes:
- ./data:/data # 数据目录
- ./data/backups:/app/app/backups # 备份目录
- ./data/uploads:/app/app/static/uploads # 上传文件目录(静态文件中的上传目录)
- ./config/nginx:/etc/nginx/http.d # Nginx配置
env_file:
- .env
environment:
- DATABASE_URL=sqlite:////data/app.db
version: "3" services: nav: image: yilan666/booknav-nav:1.4 container_name: nav restart: always ports: - "8988:80" # Nginx端口 volumes: - ./data:/data # 数据目录 - ./data/backups:/app/app/backups # 备份目录 - ./data/uploads:/app/app/static/uploads # 上传文件目录(静态文件中的上传目录) - ./config/nginx:/etc/nginx/http.d # Nginx配置 env_file: - .env environment: - DATABASE_URL=sqlite:////data/app.db
同级目录下创建.env文件
# 基本配置
SECRET_KEY=
FLASK_ENV=production
DATABASE_URL=sqlite:////data/app.db
# 管理员设置
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=admin123
# 其他配置
INVITATION_CODE_LENGTH=8
# 基本配置
SECRET_KEY=
FLASK_ENV=production
DATABASE_URL=sqlite:////data/app.db
# 管理员设置
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=admin123
# 其他配置
INVITATION_CODE_LENGTH=8
# 基本配置 SECRET_KEY= FLASK_ENV=production DATABASE_URL=sqlite:////data/app.db # 管理员设置 ADMIN_USERNAME=admin ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=admin123 # 其他配置 INVITATION_CODE_LENGTH=8
运行
docker-compose up -d
docker-compose up -d
docker-compose up -d
访问
- 在浏览器中打开
http://<您的服务器IP>:8988
- 默认用户名:
admin
,密码:admin123
Expand and read the remaining 79%
发布者:木木,转载请注明出处:https://blog.mmcoo.de/7608.html