Slack の過去ログを Mattermost に取り込む

以前、Slack の過去ログの保存につて書いた。

あのときは最終的には Mattermost の Preview 版に取り込んだ。

そのときの Slack の書き出しデータファイルは保存しているので、今度は Production 版の Mattermost(Docker)に取り込んでみた。

Slack データの書き出しは slack-dump を使った。Slack 公式の書き出しではパブリックチャンネルしか書き出せないが、slack-dump を使えばプライベートチャンネルや DM も合わせて書き出せるからだ。今回は slack-dump の書き出しファイルを使ったが、以下の方法は Slack 公式の書き出しファイルでも動作するはずだ。

GitHub - takameron/slack-dump: Export History For Channel, Private Group and Direct Message From Slack
https://github.com/takameron/slack-dump

移行先は VMware ESXi 上に立てた Ubuntu だ。ドメインは Cloudflare Tunnel を使って管理する。

環境:
VMware vSphere Hypervisor 7.0U3g、Ubuntu Server 22.04 の Docker、macOS Ventura 13.4.1(作業マシン)

(1)Ubuntu に Docker と docker-compose をインストールする。

Ubuntu 18.04 LTS / 20.04 LTS に Docker をインストールする | SIDfm VM ユーザガイド
https://www.softek.co.jp/SID/support/sidfmvm/guide/install-docker-ubuntu1804.html

Ubuntu 20.04にDockerとdocker-composeを導入する
https://zenn.dev/shimakaze_soft/articles/02aebaedeb43b6

Proxy は設定しなかった。

$ docker -v
Docker version 24.0.2, build cb74dfc
$ docker-compose -v
docker-compose version 1.29.2, build 5becea4c

(2)Cloudflare Tunnel をインストールする。

(3)Docker の Mattermost(Production 版)をインストールする。

(4)Mattermost でアカウントを作成し、適当な Team を作成する(アカウント名や Team 名は Slack と異なっていてもよい)。

(5)root でコンテナ内に入る。

$ sudo docker exec -it -u root {コンテナ ID} /bin/bash

(6)wget をインストールする。

# apt install wget

(7)コンテナ内に slack-dump のデータを転送する必要がある。僕は station307.com へアップロードし、wget でダウンロードした。

Station307
https://www.station307.com/#/

# wget {station307.com のダウンロード URL}

(8)Mattermost に7を取り込む。

# mattermost import slack {Mattermost の Team 名} {slack-dump で書き出した zip ファイル名}

(9)Mattermost の左上の Team 名右にある「+」ボタンをクリック。「Browse Channels」をクリックして Slack のチャンネルを追加していく。

これで Slack のメッセージを Mattermost に取り込めた。

ただし、もともと Slack の公式書き出しデータも slack-dump の書き出しデータも、添付ファイルの書き出しができない。だから当然上記方法で取り込んだメッセージも添付ファイルが含まれない、テキストのみのメッセージである。

参考:
Mattermost+MySQLのセットアップ (Docker) - Qiita
https://qiita.com/gucchy55/items/a575547a02679f212582


この記事が気に入ったらサポートをしてみませんか?