Skip to content

Flare ✨ Lightweight, high performance and fast self-hosted navigation pages, resource utilization rate is <1% CPU, MEM <30 M, Docker Image < 10M

License

Notifications You must be signed in to change notification settings

soulteary/docker-flare

Repository files navigation

Flare ✨

CodeQL Security Scan Release Go Report Card Docker Image

如果你觉得这个项目有帮到你,欢迎点赞✨(star)给予鼓励;如果你希望收到这个项目的更新推送,可以点击关注 👀(watch)并选择适合自己的关注模式(推荐 release)。


轻量、快速、美观的个人导航页面,适用于 HomeLab 或其他注重私密的场景。

无任何数据库依赖,应用数据完全开放透明,100% 属于用户自己。

支持在线编辑,内置 Material Design Icons 6k+ 图标,目前累计下载过万,期待你的反馈 :)

支持 x86 以及常见的 ARM (ARM32v6、ARM32v7、ARM64v8)设备,应用资源消耗非常低:

  • CPU: < 1%
  • MEM: < 30M
  • Docker Image: < 10M

快速上手

快速上手 Flare,需要两步:下载包含示例的代码、启动程序访问浏览器。

下载包含示例的代码

你可以使用 git clone 或者选择使用 “Download ZIP” 的方式,下载包含了基础的配置示例(书签和应用)的代码:

git clone https://github.com/soulteary/docker-flare.git
cd docker-flare

app/*yml 目录中包含了你的书签和应用数据,你可以根据你的需求对其进行调整。如果目录中没有配置文件,应用将在首次运行的时候,进行自动创建。

启动程序访问浏览器

启动应用非常简单,如果你习惯使用 Docker,可以执行:

# 可以使用最新镜像
docker pull soulteary/flare
docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare
# 也可以追求明确,使用固定版本
docker pull soulteary/flare:0.5.1
docker run --rm -it -p 5005:5005 -v `pwd`/app:/app soulteary/flare:0.5.1

如果你习惯使用 docker-compose,只需要执行:

docker-compose up -d

如果你是 Traefik 用户,可以参考 docker-compose.traefik.yml 配置文件来使用。

不论是哪一种方式,在命令执行完毕之后,默认情况下,我们访问浏览器的 5005 端口,就能看到下面的界面啦:

Flare Web UI

程序使用向导

为了方便你的使用,我制作了一个简单的向导程序,在 flare 启动之后,你可以随时访问 /guide,获取 flare 基础界面功能的介绍。

Flare Guide

程序在线编辑页面

为了满足随时随地编辑的需求,程序新增了“在线编辑”的页面。

Flare Editor

工具页面地址:/editor

程序帮助页面

为了减少不必要的地址记忆负担,程序新增了一个“帮助页面”,默认展示所有的程序内的工具页面。

Flare Help

工具页面地址:/help

程序性能

“快”作为 Flare 对主要优势而言,自然是需要“满分”来加持。

Flare Lighthouse Scores

如果你好奇这是如何实现的,可以阅读这篇文章:《Flare 制作记录:应用前后端性能优化》

进阶文档

相比较 Flame

  • 服务资源消耗极低,可以跑在任何规格的机器上,甚至是一台搭载2015年S805芯片的ARM盒子。
  • 程序页面性能非常好,渲染速度更快,支持同时渲染大量(数千)书签,而不必担心风扇起飞。
  • 使用声明的配置来进行导航内容的管理,无需担心数据迁移问题。
  • 简化了天气数据的获取方式,不再需要申请天气网站的 API_KEY ,避免了不必要的成本开销。
  • 简化了 Flame 中的K8S、Docker 集成等不必要的功能。
  • 内置了大量风格统一、高质量的矢量图标,减少选择困难症,确保界面长期“耐看”。
  • 默认使用免登陆模式,避免 HomeLab、本地使用的用户有额外的登陆操作。

关于内置图标

程序内置了目前 materialdesignicons.com 中所有的 Material Design Icons,你可以让你的每一个书签都拥有风格统一、高质量的矢量图标。

更多信息,可以参考 如何挑选和使用图标

TODO

  • 持续完善程序定制化功能
  • 支持使用 API 进行内容管理
  • 支持自定义主题配色

Thanks

Inspired by https://github.com/pawelmalak/flame