🦊

OSSへの道:初めてのMisskey開発環境構築

2023/07/09に公開

はじめに

最近、いくつか身近なライブラリのgood first issueに手を出し始めました
今回は、 misskey という分散型ソーシャルメディアのissueに取り組んでみました
この記事は、私がmisskeyの開発環境の構築に難航したため、同じような方がいた際に何かの助けになればと執筆しています

注意

筆者は、OSS活動を始めたばかりです
内容は間違っている可能性がありますので、もし何かあればご指摘いただけると助かります

手順

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にも取り組んでいきたいと思っています

https://github.com/misskey-dev/misskey/pull/11138

Discussion