网站存档服务ArchiveBox

在这里插入图片描述

今天是老苏居家隔离的第 43 天。

周四除上午,下午各一次抗原外,上午还做了一次核酸;周五上午两个抗原(间隔 4 小时),下午1点还有一次核酸。

现在核酸也不像之前,一栋一栋通知下楼,又开始变得乱糟糟的也没人管,越来越看不懂。


本文是应网友 akimo 的要求写的

都说互联网是有记忆的,可实际上很多时候说没也就没了,再也无处寻觅。但生活中总有些东西是值得被记住的,ArchiveBox 可以帮你做到这一点,它能帮你搭建网站的存档,包括内容、链接、资源等等,让你保留该网站的完整记忆。

什么是 ArchiveBox ?

ArchiveBox 是使用 Python 编写的功能强大的自托管 Internet 归档解决方案。您向它提供要存档的页面的 URL ,然后根据设置和其中的内容将它们以各种格式保存到磁盘。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 archivebox ,选择第一个 archivebox/archivebox,版本选择 latest

容器名称

一般来说,老苏都是用的默认生成的容器名称,但是因为后面还需要进入到容器内部操作,所以需要一个相对简单又容易辨识的名称

docker 文件夹中,创建一个新文件夹,将其命名为 archivebox

文件夹装载路径说明
docker/archivebox/data存放数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
48008000

环境

可变
MEDIA_MAX_SIZE媒体文件的最大尺寸

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷,老苏更喜欢命令行,搭建环境比较快捷

# 新建文件夹 archivebox 
mkdir -p /volume2/docker/archivebox

# 进入 archivebox 目录
cd /volume2/docker/archivebox

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name archivebox \
   -p 4800:8000 \
   -v $(pwd):/data \
   -e MEDIA_MAX_SIZE=750m \
   archivebox/archivebox:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '2.4'

services:
  archivebox:
    image: archivebox/archivebox:latest
    container_name: archivebox
    command: server --quick-init 0.0.0.0:8000
    ports:
      - 4800:8000
    environment:
      - ALLOWED_HOSTS=*
      - MEDIA_MAX_SIZE=750m
    volumes:
      - /volume2/docker/archivebox:/data

然后执行下面的命令,在 portainer 中执行也是可以的

# 进入 archivebox 目录
cd /volume2/docker/archivebox

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

软件有个初始化过程,需要稍作等待,或者你直接观察 终端机

或者 日志

当看到 Starting development server at http://0.0.0.0:8000/ ,就可以在浏览器中输入 http://群晖IP:4800 ,加载成功就能看到主界面

创建管理员

通过命令行进入容器内,执行创建管理员用户的操作

【注意】:不能用 root 用户,老苏用了容器内置的账号 archivebox,原因官方有说明,有兴趣的自己去看:https://github.com/ArchiveBox/ArchiveBox/wiki/Security-Overview#do-not-run-as-root

# 进入容器(前一个 archivebox 是用户名,后一个 archivebox 是容器名)
docker exec -it --user archivebox archivebox /bin/bash

# 创建管理员
archivebox manage createsuperuser
  • 输入用户名,如果留空,会默认使用 archivebox 做用户名
  • 输入邮箱地址
  • 输入密码

老苏只是测试,所以用了非常简单的密码,因此导致了一堆的警告,但是最后老苏用 y 直接跳过,反正进入系统后可以改密码的

抓取网站

以老苏的博客为例

  • URLs:这里输入老苏博客的地址,https://laosu.ml
  • URLs format:选择了 URL List
  • tags :老苏留了空
  • Archive depth:老苏选了 depth = 1
  • Archive methods:还是留了空,如果你想快一点,可以只选择一项,比如 singlefile

Add URLs and archive + 就开始干活了

注意看 /docker/archivebox/archive 目录,慢慢的会有目录和文件

在这里插入图片描述

资源占用会变高

有时候整个机器是这样的

PUBLIC

SNAPSHORT

如果中途因为种种原因中断了,可以勾选未完成的链接,直接点 pull 继续

参考文档

ArchiveBox/ArchiveBox: 🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more…
地址:https://github.com/ArchiveBox/ArchiveBox

Docker · ArchiveBox/ArchiveBox Wiki
地址:https://github.com/ArchiveBox/ArchiveBox/wiki/Docker

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值