V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chenjia404
V2EX  ›  分享创造

Linux 环境下在 ipfs 上部署维基百科镜像

  •  
  •   chenjia404 ·
    chenjia404 · 101 天前 · 1558 次点击
    这是一个创建于 101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境依赖,需要你有 git 、node 、yarn

    1.先安装 ipfs

    最新版下载链接: https://dist.ipfs.tech/#kubo

    wget https://dist.ipfs.tech/kubo/v0.29.0/kubo_v0.29.0_linux-amd64.tar.gz
    tar zxvf kubo_v0.29.0_linux-amd64.tar.gz
    cd kubo
    ./install.sh
    

    2.初始化和配置 ipfs 因为整个维基百科数据库比较大,我们需要使用 ipfs 的一个 filestore 特性,filestore 特性需要 ipfs 目录和添加的文件挂载在一个设备下面。

    screen -S ipfs
    export IPFS_PATH=/data2/ipfs
    ipfs init
    ipfs config --json 'Experimental.ShardingEnabled' true
    ipfs config --json Experimental.FilestoreEnabled true
    ipfs daemon
    

    注意这里用了一个 screen 运行 ipfs ,避免网络掉线。

    3.拉取数据和生成页面并添加到 ipfs

    git  clone https://github.com/ipfs/distributed-wikipedia-mirror
    cd distributed-wikipedia-mirror
    screen -S wikipedia-mirror 
    yarn
    ./mirrorzim.sh -l=zh -w=wikipedia 
    

    如果你需要英文版本,可以把 zh 替换成 en 。注意这里用了一个 screen 运行生成程序,避免网络掉线。

    最后一个通宵后输出结果为:bafybeickblcnzzxp65pcmn3k7wpzt7zkzhl53behblnmrl3ybkjfq6dt5i

    现在我们就可以使用各种 ipfs 网关打开这个 ipfs 版本的维基百科了,但是因为才上传,可能速度会比较慢,用的人多了速度就会更快。

    我绑定了这个 cid 到 zh-wikipedia.ipfsscan.io 这个域名上。

    可以使用我维护的一个网关打开 https://gateway.ipfsscan.io/ipns/zh-wikipedia.ipfsscan.io/

    本站的词条 https://gateway.ipfsscan.io/ipns/zh-wikipedia.ipfsscan.io/wiki/V2EX

    也可以在 public-gateway-checker 里面寻找其它网关。

    你也可以复制一个惰性版本到你本地 ipfs 节点 ipfs files cp $(ipfs resolve -r /ipns/zh-wikipedia.ipfsscan.io) 。

    如果你磁盘大于 130gb ,你也可以复制完整版本的到你 ipfs 节点 ipfs refs -r /ipns/zh-wikipedia.ipfsscan.io

    本镜像维护周期,我一个月左右跟踪一次 kiwix 的最新的维基百科镜像,发现更新就打包,老版本的镜像维护 2 个版本。

    其它语言的镜像,看情况有没有需求,如果有我就买一个大容量的 ssd ,你们也可以自己按照这个方法发布。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1324 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 17:47 · PVG 01:47 · LAX 09:47 · JFK 12:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.