ConoHa VPS上にあるMisskeyをRaspberry Piに移行する

Linux
この記事は約4分で読めます。

ちょっとしたつまずきがあったので備忘録として書いておく。

弊環境

移行前:ConoHa VPS 4GB 「まとめトク」12ヶ月プラン (OS:Ubuntu 24.04)

移行後:Raspberry Pi 4 Model B 4GB (OS:DietPi v9.13.2)

インターネット回線:So-net au ひかり (固定グローバルIP)

ドメイン:ConoHa WING 契約特典で取得した2つ目の無料ドメイン「mosslawn.space」

DNS・オブジェクトストレージ:Cloudflare

手順

基本的にはこちらのサイトのとおりにやっていく。

misskeyサーバを物理的に引っ越す手順|小束弓月
注意 本記事はあくまで個人の備忘録です。実際のmisskeyサーバの引っ越しは慎重に準備の上、ご自身の責任で行って下さい。 はじめに クローズドmisskeyサーバ「こづか山荘」の管理人、小束弓月と申します。 misskeyサーバを他社VP...

公式ドキュメントはこちら

Ubuntu版Misskeyインストール方法詳説 | Misskey Hub
分散型SNS作成ソフトウェア Misskeyの公式サイト。Misskeyサーバーの作り方やサーバー一覧など、Misskeyに関する情報が満載!

私が気をつけたところ、つまずいたところだけ抜粋して書く。

DNS設定を変更する

  • CloudflareのDNSにてタイプ:Aの名前「@」「www」に自宅のグローバルIPアドレスを入力
  • インターネット回線業者からレンタルしているルータのポートマッピング設定で、Raspberry Pi 4のローカルIPアドレスに向けてポート番号「80」「443」を開ける

自宅の回線が固定グローバルIPでない場合はトンネリングツールやダイナミックDNSサービスを使う必要がある。
私がCloudflare Tunnelを使おうとやってみたところうまくいかなかったため、固定IPであることを活かして直に入力した。

必要パッケージのセットアップ

nginxのセットアップは、UbuntuとDebian(DietPi)ではやり方が異なるので注意。
Debianでのやり方は下のリンクから。

※「If you would like to use mainline nginx packages, ~」に書かれているコマンドは飛ばす。安定版ではないため。

nginx: Linux packages

postgresqlのリストア

どういうわけか私の環境ではMisskeyのデータベース名が「misskey」になっていた。
リストアしたあとで例のとおり「mk1」に名前を変えておく。

$ sudo -u postgres psql

postgres=# ALTER DATABASE misskey RENAME TO mk1;
postgres=# \q

「database has a collation version mismatch」が出た場合は以下のリンクの対処法を行う。

【PostgreSQL】database has a collation version mismatchへの対処法

Misskeyをビルド→起動

Raspberry PiでMisskey v2025.5.0を起動しようとすると次のエラーで止まってしまう。

[ELIFECYCLE] command failed with exit code 129.

Raspberry Piでは無効なモジュールを読み込もうとしているのが原因らしい。

2025.5.0 does not run ond Ubuntu 24.04.2 · misskey-dev/misskey · Discussion #16080
💡 Summary Recent release 2025.5.0 doesn't run on Ubuntu 24.04.2 LTS. It compiles without any error but when running it c...

/home/misskey/misskey/packages/backend/src/misc/gen-identicon.ts にある11行目のimport文をコメントアウトする。

/*
 * SPDX-FileCopyrightText: syuilo and misskey-project
 * SPDX-License-Identifier: AGPL-3.0-only
 */

/**
 * Identicon generator
 * https://en.wikipedia.org/wiki/Identicon
 */

// import { createCanvas } from '@napi-rs/canvas';
import gen from 'random-seed';

const size = 128; // px
const n = 5; // resolution
const margin = (size / 4);
const colors = [

~~~~

修正が終わったら上書き保存して、ビルド・実行。

$ sudo su - misskey
$ cd misskey
$ NODE_ENV=production pnpm run build
$ pnpm run init
$ NODE_ENV=production pnpm run start

結論

メモリ4GBでクアッドコアCPUのRaspberry Pi 4を持っているのに有効活用しないのはもったいなかったというお話でした。

コメント

タイトルとURLをコピーしました