云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

开源自托管书签和笔记应用 - Benotes


Benotes 是一个开源的自托管 web 应用,可用来管理你的笔记📔和书签🔖,只需单击一个按钮即可保存你的书签,然后就可以以非常优雅的方式进行展示、分类和存储,以便以后使用。

特性

  • URLs 会自动保存图片、标题和描述
  • 同时支持 markdown 和富文本编辑器
  • 可以作为 PWA 安装在不的移动设备(和桌面)上
  • 通过该应用共享内容(如果作为 PWA 安装并被你的浏览器支持的话)
  • 可以通过公共可用的 URL 进行分享
  • 链接可以立即被粘贴为新文章
  • 由于使用了轻量级的 Lumen 框架和支持良好的 PHP 语言,几乎可以在任何地方托管
  • 可以使用也可以不使用持久存储层(支持文件系统和 S3)
  • 也可以通过 Docker 或 Heroku 托管
  • 通过每日备份保护你的数据

安装

安装该应用稍微有一点复杂,但是我们可以使用 Docker 来进行简化,下面是我们使用 Docker Compose 安装 Benotes 的过程。

  1. 获取 Benotes 代码,直接 Clone 代码仓库即可:
git clone https://github.com/fr0tt/benotes_docker-compose
  1. 进入 benotes_docker-compose 目录并运行以下命令
cp .env.example .env

然后根据实际需求更改相关的环境变量。

  1. 然后执行下面的命令启动容器并让 Benotes 使用此命令运行初始安装:
docker-compose up -d
  1. 安装完成后并且数据库和应用都正常运行后,运行以下命令。
docker-compose exec --user application app sh

现在我们在应用程序容器内运行下面这个命令。

php artisan install

按照命令并在设置中键入 yes,然后创建管理员用户名、电子邮件和密码。

不过需要注意的是还需要对缩略图目录权限进行更改:

chmod -R 774 PWD$/data/storage/app/public/thumbnails

如果不执行上面的命令,Benotes 仍然可以使用,但是会遇到显示图像的问题,并且在尝试添加注释时会弹出如下所示的错误。

使用

到这里 Benotes 就安装完成了,然后我们就可以登录使用了,在首次登录时会有演示说明,这些说明可以让我们了解可以使用 Benotes 做什么,从使用 Markdown 创建笔记到简单的链接书签,等等。

创建分类

默认情况下,所有演示笔记都存储在 Uncategorized 分类中,你可以根据你对笔记或链接书签的想法创建一个新分类,比如我们这里添加一个名为 Web Links 的分类。

我们可以从图标菜单中选择一个图标,该图标将显示在左侧边栏中的旁边,效果如下图所示:

共享分类

如果你愿意,还可以通过给它一个令牌来与其他人公开分享你的收藏,如下所示。

添加书签或注释

我喜欢在 Benotes 中直接添加 Web 链接作为书签,他可以非常容易帮我们抓取该链接的相关 Meta 信息,看起来非常棒。

添加用户

在 Benotes 里添加其他用户也非常容易,也许你的朋友或家人可能想要使用你的 Benotes 实例来保存他们自己的书签或笔记,每个用户配置文件都是完全独立的。

添加标签

Benotes 还有一个标签系统,可以让你进一步完善你的笔记和书签。你可以查看你的标签页面并查看创建的所有标签,也可以通过这些标签浏览相关数据!

搜索

Benotes 的搜索功能也非常棒,可以搜索标题、描述甚至链接文本,通过运行快速搜索轻松找到你需要的内容。

转移笔记

Benotes 的另一个很棒的功能是你只需轻按一下按钮,就可以将笔记或书签从一个类别转移到另一个类别。

备份

目前不支持 SQL Server 和备份 S3 存储。不过我们可以通过执行以下命令手动触发备份:

php artisan backup:run

或者将下面的命令添加到你服务器的 cron 中来定时执行备份任务:

0 * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

这将每小时检查是否有任务需要运行。如果你使用的是 docker,则可以将下面的命令添加到你服务器的 cron 条目中:

0 * * * * cd /path-to-your-project && docker exec -it benotes php artisan schedule:run >> /dev/null 2>&1

默认情况下,每晚都会创建备份计划,如果你想更改它,请将以下内容添加到你的 .env 文件中:

BACKUP_INTERVAL = 0 0 */7 * *  

如果想希望使用 S3 兼容对象存储(例如 AWS S3、Digital Ocean Spaces、Minio 等)存储数据,请将以下内容添加到你的 .env 文件中:

BACKUP_DISK           = s3

AWS_ACCESS_KEY_ID     = yourKeyId
AWS_SECRET_ACCESS_KEY = yourAccessKey
AWS_DEFAULT_REGION    = us-east-1
AWS_BUCKET            = yourCreativeBucketName
AWS_ENDPOINT          = endpointUrl

总结

总体来说我个人是非常喜欢 Benotes 的自托管书签和笔记应用功能,而且还可以使用 Docker 进行安装,非常简单。不过需要注意该项目目前处于测试阶段,在使用过程中可能会遇到错误。

Github 仓库:https://github.com/fr0tt/benotes

  • 分享:
评论
还没有评论
    发表评论 说点什么