Decentralization? We're still early!

如何通过 Docker Compose 托管 Shaarli

christmas, winter, snow

Shaarli 是一款轻量级的自托管书签管理工具,旨在帮助用户存储、管理和分享网页链接,而无需依赖第三方服务。与传统的社交书签工具不同,Shaarli 允许用户完全掌控自己的书签数据,并提供了简洁的界面和强大的 API。它支持标签管理、搜索功能、私有书签模式,并且可以与其他应用集成。此外,Shaarli 还具备 Markdown 支持、RSS 订阅输出、简洁的存储方式等特性,使其成为一个高效的个人书签管理解决方案。

一、为什么选择 Docker Compose

在部署 Shaarli 时,可以选择直接安装在服务器上,也可以使用 Docker 进行容器化管理。相比于传统的安装方式,Docker 具有高度的可移植性和隔离性,使得应用可以在不同环境下保持一致的运行状态。而 Docker Compose 进一步简化了容器的管理,允许用户通过一个 YAML 文件定义多个服务,并一键启动、停止或更新整个应用。对于 Shaarli 这样的轻量级 Web 应用,使用 Docker Compose 可以方便地进行部署、管理和备份,减少手动配置的复杂性。

你可以先安装Docker,再安装Dockge,以简化Docker Compose的部署。

二、通过 Docker Compose 部署 Shaarli

首先,需要确保服务器或本地环境已经安装了 Docker 和 Docker Compose。然后,可以在一个合适的目录下创建 docker-compose.yml 文件,并定义 Shaarli 容器的服务。

version: '3'
services:
  shaarli:
    image: shaarli/shaarli:latest
    container_name: shaarli
    ports:
      - "8080:80"
    volumes:
      - ./data:/var/www/shaarli/data
    restart: unless-stopped

在这个配置中,shaarli/shaarli:latest 代表使用最新版本的 Shaarli 镜像,而 ./data:/var/www/shaarli/data 这一行则将主机的 data 目录映射到容器内部,以便持久化存储书签数据。ports 部分指定了容器端口与主机端口的映射,使得 Shaarli 可以通过 http://localhost:8080 访问。restart: unless-stopped 选项确保容器在意外停止后自动重启,以提高服务的可用性。

配置完成后,可以在终端中运行以下命令启动 Shaarli,或者在Dockge的图形界面中启动即可。

docker-compose up -d

此命令会在后台启动 Shaarli 容器,并映射相应的端口。完成后,可以通过浏览器访问 http://localhost:8080,进入 Shaarli 的管理界面,并按照页面提示完成初始化配置,包括设置管理员账户和密码。

三、如何备份 Shaarli 数据

为了防止数据丢失,定期备份 Shaarli 数据是非常重要的。由于 Shaarli 主要依赖于 data 目录存储书签、配置和用户数据,因此只需要备份该目录即可。

可以使用 tar 命令将数据打包并存储在安全的位置,例如:

tar -czvf shaarli-backup.tar.gz data/

如果希望自动化备份过程,可以编写一个简单的 Shell 脚本,并使用 cron 定期执行。例如,创建一个 backup.sh 文件,并添加以下内容:

#!/bin/bash
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
tar -czvf shaarli-backup-$TIMESTAMP.tar.gz data/
mv shaarli-backup-$TIMESTAMP.tar.gz /path/to/backup/location/

然后,将其添加到 cron 任务中,例如每天凌晨 2 点自动备份:

0 2 * * * /path/to/backup.sh

此外,如果使用云存储服务(如 Dropbox、Google Drive 或 Nextcloud),可以将备份文件同步到远程存储,以进一步提高数据安全性。

四、使用 Shaarli 浏览器插件

为了提高使用体验,Shaarli 提供了官方的浏览器插件Add to Shaarli,支持 Chrome 和 Firefox。安装插件后,用户可以在浏览网页时一键保存当前页面到 Shaarli,并添加标签、备注或进行快速分享。

在插件的设置中,需要输入 Shaarli 实例的 URL,并配置 API 密钥(如果启用了 API 认证)。这样,用户无需每次手动打开 Shaarli 界面,即可直接通过浏览器工具栏的按钮快速保存书签。此外,插件还支持快捷键功能,使得添加书签变得更加高效。

五、小结

Shaarli 是一款功能强大但轻量级的自托管书签管理工具,使用 Docker Compose 部署可以简化安装和维护过程,同时确保数据的持久化存储。通过定期备份,可以有效防止数据丢失,而浏览器插件的集成则进一步提升了使用体验。利用 Shaarli 搭建一个高效的私有书签管理系统,可以摆脱对第三方服务的依赖,并享受完全的隐私控制。

作为非营利站点,基地的建设离不开大家的捐助支持。在Cardano钱包(如Lace、Eternl 等)中输入 ADA Handle 名称$brave2049,即可为基地提供小额捐助。为支持Cardano治理和基地建设,亦欢迎将Cardano链上治理权限委托给Brave(Brave的Cardano链上治理DRep信息)

相關文章

回复