🦊
OSSへの道:初めてのMisskey開発環境構築
はじめに
最近、いくつか身近なライブラリのgood first issueに手を出し始めました
今回は、 misskey
という分散型ソーシャルメディアのissueに取り組んでみました
この記事は、私がmisskeyの開発環境の構築に難航したため、同じような方がいた際に何かの助けになればと執筆しています
注意
筆者は、OSS活動を始めたばかりです
内容は間違っている可能性がありますので、もし何かあればご指摘いただけると助かります
手順
- 公式のリポジトリからforkする
- ローカルにcloneする
git clone git@github.com:Ryoh827/misskey.git
cd misskey
- 必要なファイル等をコピーする
git submodule update --init
pnpm install --frozen-lockfile
cp -a .config/example.yml .config/default.yml
- 接続先のDB/redis用のコンテナを用意する
- ⚠️ポート等は必要に応じて変更してください
docker-compose.yml
version: "3"
services:
redis:
restart: always
image: redis:7-alpine
volumes:
- ./redis:/data
ports:
- "6379:6379"
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
db:
restart: always
image: postgres:15-alpine
environment:
- POSTGRES_PASSWORD=example-misskey-pass
- POSTGRES_USER=example-misskey-user
- POSTGRES_DB=misskey
volumes:
- ./db:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
- DBとredisを起動する
docker compose up -d
- 必要なファイルをbuildする
pnpm --filter misskey-js build
pnpm build
- Migrationを実行する
pnpm migrate
- 開発サーバーを起動する
pnpm dev
ここまで来れば開発環境の準備は完了です
必要に応じてコードを修正してみましょう
終わりに
今回作成したPRは以下になります
簡単な修正ですが、これから段階的により難しいissueにも取り組んでいきたいと思っています
Discussion