Docker应用22:BookNav – 个人导航网站

github项目地址:DEKVIW/book-nav: 个人书签导航

项目介绍

BookNav 是一个使用 Flask 构建的、可通过 Docker 轻松部署的个人导航网站项目。它旨在帮助用户整理和快速访问常用的网站链接,提供分类管理和丰富的交互功能,并支持邀请码注册系统来控制用户访问。

功能特性

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

项目截图

Docker应用22:BookNav - 个人导航网站
Docker应用22:BookNav - 个人导航网站

安装部署

创建docker-compose.yml文件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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文件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 基本配置
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

运行

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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

Like (0)
Donate 微信 微信 支付宝 支付宝
木木的头像木木VIP用户
Next Terminal:安全开源交互审计系统
Previous 2025 年 4 月 14 日 下午2:32
UFW Panel:防火墙可视化面板
Next 2025 年 5 月 10 日 下午5:41

相关推荐

发表回复

Please Login to Comment
SHARE
TOP
🔈Hi,朋友。欢迎来到木木の博客小站!