WSL2の中にMastodonの開発環境を作る

公式のドキュメントには書かれていない気がするが Docker だけあればセットアップ可能。WSL2 でのセットアップが面倒な Vargant は不要

本記事では WSL2 内の Ubuntu の中で Docker と Docker Compose を使った構築法について記述する。Windows 向けの Docker Desktop は使用しない

前提

  • WSL2 の Ubuntu に VSCode で接続して作業
  • 起動してログイン、トゥート、設定と言った最低限の画面操作が可能な程度まで

確認環境

Env ver
Mastodon v3.5.3
Docker 20.10.21, build baeda1f
Docker Compose v2.12.2
Ubuntu 20.04.5 LTS
WSL2 1.0.3.0
DevContainer v0.266.1
VSCode 1.73.0

手順

  1. git clone https://github.com/mastodon/mastodon.git
    1. 最新版などバージョン指定が必要な場合は追加で tag をチェックアウトする
  2. VSCode で Clone 先を開く
  3. Reopen Container する
  4. セットアップが走るので暫く待つ
  5. foreman start を流す
  6. http://localhost:3000/ へアクセス

操作方法

ユーザーを作ったりしたい場合、Using the admin CLIが参考になる

一例としてユーザー作成は次の書式で行ける

./bin/tootctl accounts create foo --emaill foo@example.com --confirmed

トラブルシュート

DB 接続エラーが出る

ActiveRecord::ConnectionNotEstablished at /
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql//.s.PGSQL.5432"?

file

上記のエラーが出る場合、ビルドした Docker イメージが壊れてるので以下のコマンドで全て消して作り直すとうまく行く

docker rm -f `docker ps -a -q`
docker rmi `docker images -q`
docker system prune

他の Mastodon インスタンスが動かない

複数の Mastodon インスタンスの Docker 環境を同居させると多分コンフリクトする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です