お知らせ
現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
なんか昔はもっと楽だった気がするのだが、ドキュメントが更新されておらず、いつの間にか一筋縄でいかなくなっていたので頑張って調べた。
VSCodeでDockerの中に入れる環境が一式あるものとする。
Env | Ver |
---|---|
OS | Ubuntu 24.04.3 LTS |
VSCode | 1.104.0 |
Docker | version 28.1.1, build 4eba377 |
Docker Compose | v2.35.1 |
Mastodonのバージョン | v4.5.0-alpha.2 |
Mastodonのコミットハッシュ | 06803422da3794538cd9cd5c7ccd61a0694ef921 |
git clone https://github.com/mastodon/mastodon.git
.devcontainer/compose.yaml
を右クリックしてCompose Upbundle install
IGNORE_ALREADY_SET_SECRETS=true
デフォルトのYarnが古いので更新する
corepack enable
yarn set version stable
rails db:setup
./bin/tootctl accounts create hoge --email hoge@example.com --confirmed
rails console
user = Account.find_by(username: 'hoge').user
user.approve!
# PW変更ここから
user.password = 'password'
user.skip_confirmation!
# PW変更ここまで
user.save!
quit
bin/rails assets:precompile
bin/dev
exec
コマンドを使って入れる。以下の例ではzsh
を指定しているがbash
でも行ける。
# 方法1
docker compose -f .devcontainer/compose.yaml exec app zsh
# 方法2
cd .devcontainer
docker compose exec app zsh
.env.development
にALTERNATE_DOMAINS=hoge.test
の行を追加することで他のドメインでもアクセスできる。
この設定があるとMastodonを別環境で動かしててリモートからドメインアクセスする場合に便利。
手順を見直し、コンテナの中でrails db:setup
を叩くことで解決する。
リポジトリルートにあるdocker-compose.yml
を使うと発生するので、.devcontainer/compose.yaml
を使う事で解決する。
DEVELOPMENT.md#dockerの手順が使えそうなので、これでもいいかも?面倒なので試してはいない。
docker compose -f .devcontainer/compose.yaml up -d
docker compose -f .devcontainer/compose.yaml exec app bin/setup
docker compose -f .devcontainer/compose.yaml exec app bin/dev
検証用にバニラなMastodon環境が欲しくて作ってみたがえらい苦労した。取り敢えず本番環境を汚染せずDocker内に封じ込めた状態で作れたので満足している。
.devcontainer/welcome-message.txt
に書いてある内容とだいぶ手順が違うのだが、恐らくドキュメントが更新されていない気がしているので、PRでも出してみようかな?
公式のドキュメントが極めて親切で手探りになったが、.devcontainer/welcome-message.txt
の通りにやればエラーメッセージが全部教えてくれたため、最初からここを見ればよかった。