将邮件列表迁移到 Discourse(mbox、Listserv、Google Groups 等)」

@gerhard 感谢你的温和提醒——我从头开始重新运行(从 git clone 开始),并在 /src/Gemfile 末尾添加了 gem 'sqlite3',因为我猜这就是你提到的那个,结果成功了!供参考,以下是我使用的步骤(针对 mne_analysis 邮件列表):

1. 在 Ubuntu 主机上

git clone https://github.com/discourse/discourse.git
cd discourse
d/boot_dev --init
d/rails db:migrate RAILS_ENV=development
d/shell
vim /src/Gemfile  # 在末尾添加 gem 'sqlite3'
exit
d/bundle

2. 在 Docker shell 中

sudo mkdir -p /shared/import/data
sudo chown -R discourse:discourse /shared/import
wget -r -l1 --no-parent --no-directories "https://mail.nmr.mgh.harvard.edu/pipermail//mne_analysis/" -P /shared/import/data/mne_analysis -A "*-*.txt.gz"
rm /shared/import/data/mne_analysis/robots.txt.tmp
gzip -d /shared/import/data/mne_analysis/*.txt.gz
wget https://gist.githubusercontent.com/larsoner/940cd6c7100b87c4c5668cb0bc540afb/raw/9e78513620d11355ad0e10f4a2470996c26ebc8c/mailmanToMBox.py -O ~/mailmanToMBox.py
python3 ~/mailmanToMBox.py /shared/import/data/mne_analysis/
rm /shared/import/data/mne_analysis/*.txt
sudo apt install -y libsqlite3-dev  # 对我而言无操作

# 检查结果
cat /shared/import/data/mne_analysis/*.mbox > ~/all.mbox
sudo apt install -y procmail
mkdir -p ~/split
export FILENO=0000
formail -ds sh -c 'cat > ~/split/msg.$FILENO' < ~/all.mbox
rm -rf ~/split ~/all.mbox

# 设置
wget https://raw.githubusercontent.com/discourse/discourse/master/script/import_scripts/mbox/settings.yml -O /shared/import/settings.yml

# 运行
cd /src
bundle exec ruby script/import_scripts/mbox.rb /shared/import/settings.yml

这输出了很多有用的信息,最后显示:

...
正在更新分类中的特色主题
        5 / 5 (100.0%)  [6890 项/分钟]   ]  
重置主题计数器


完成 (00 小时 06 分 21 秒)

然后退出并在 Ubuntu 主机上执行:

d/unicorn &
google-chrome http://0.0.0.0:9292

完成!

我可能会调整一下设置,去掉 [Mne_analysis] 前缀,但让我非常高兴的是,它已经运行得如此顺利!

4 个赞