5分钟使用 Docker-Compose 和 Archivebox 部署一个支持全文搜索的互联网档案馆

互联网档案馆(英语:Internet Archive)是美国的一个非营利性的、提供互联网多媒体资料档案阅览服务的数字图书馆。自2001年推出以来,截至2024年1月3日,网站时光机已存档超过 8600 亿个网页和超过 99 PB 的数据。

我们保存不了这么多数据,就只保存一点点日常需要存档的网页就行了。

1.先创建一个目录用于存储数据

mkdir ArchiveBox
cd ArchiveBox

2.下载 docker-compose.yml 和 sonic 的配置文件

下载docker-compose.yml:

curl -O 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/docker-compose.yml'
curl -O https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/etc/sonic.cfg

修改docker-compose.yml,取消 sonic 的注释,修改两个容器环境变量的 SEARCH_BACKEND_PASSWORD 值。

3.初始化

docker-compose run archivebox init --setup

这里需要输入你的邮箱、用户名、密码这些,输入就行了。

4.启动

docker-compose up -d

然后打开浏览器打开相应端口就行了,如果需要可以添加一个反向代理服务。

参数设置

docker-compose 里面,archivebox 容器支持一些参数设置,根据你的使用情况进行设置。

- ALLOWED_HOSTS=*                   # 将其限制为仅接受通过特定域名的传入流量
- PUBLIC_INDEX=True                 # 设置为FALSE可防止匿名用户查看快照列表
- PUBLIC_SNAPSHOTS=True             # 设置为False可防止匿名用户查看快照内容
- PUBLIC_ADD_VIEW=False             # 设置为True可允许匿名用户将新URL提交到存档

如果要做公开的互联网档案馆,把 PUBLIC_ADD_VIEW 设置为 True 就行了。

产品特点

Archivebox 可以调用 chrome 浏览器,实现一些有 js 抓取,或者需要浏览器验证的页面,抓取后基本上和当时浏览器打开效果一致。

可以添加多用户。

默认抓取的网页全部公开浏览。

同时默认可以同时添加 archive.org 存档。

支持多种存储实现,Amazon S3 / Backblaze B2 / Google Drive / 等 (RClone)。

支持设置cookies,还可以使用 vnc 进入到系统内,然后在 chrome 里面登录相关网站的账户,抓取类似知乎这种需要权限的网站。

不足

没有多语言支持,备份一个网页需要的文件空间比较大。

REST API 还在开发中,没有 app。

使用场景

需要保存一些页面,尤其是里面有丰富的图文,还需要截图当时的完整页面。如果只是需要文章保存功能,用 wallabag 更方便。

tips:

  • 添加保存的网页的时候,URLs format 选择 URL List ,不然会出现输入一个链接大量采集的情况。
  • Archivebox 支持保存网页里面的媒体视频,只要是 yt-dlp 支持的网站,例如你添加一个 YouTube 的视频链接,会保存其中的视频。

参考链接:

官方文档

Docker-compose部署Archivebox

网站存档服务 ArchiveBox

进入 vnc 设置 chrome 用户资料

0%