Misskey

Misskey v13をFedora 37で構築する

keywords
Misskey , misskey , みすきー , ミスキー , wls , wsl , debian , 構築 ,建てる,建て方, 立て方 , 立てる , 方法 , やりかた , やり方 , インスタンス , instance , いんすたんす ,鯖 , さば , サーバー , さーばー , misky , linux , マニュアル , まにゅある , manual,fedora,27,Fedora,redhat,Redhat,v13,Misskeyインスタンス
date
Mar 19, 2023
slug
fedora37-misskeyv13
author
status
Public
tags
Misskey
summary
Misskey v13をFedora 27で構築する方法を解説します。
type
Post
thumbnail
https://raw.githubusercontent.com/misskey-dev/assets/main/banner-2.png
category
Misskey
updatedAt
Jul 7, 2023 05:08 AM

前提

Memory 2GB以上 (swapもりもりでも可)
Fedora 37を使う (Redhat系列でも可能かもしれないけど保障はしません)
Cloudflare argo tunnel で公開する
ことを前提とします
Misskey v13の必須のものは
Node.js v18
Postgresql v15
Redis (バージョンは不明だがこの記事では7を入れる)
です。

準備

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/F-37-x86_64/pgdg-fedora-repo-latest.noarch.rpm
sudo dnf install -y postgresql15-server redis:7 ffmpeg nodejs:18
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable --now postgresql-15 redis
sudo systemctl start postgresql-15
sudo useradd misskey -m -s /sbin/nologin
sudo npm i -g corepack
sudo corepack enable
これが終わったら
sudo -u postgres psql
ってしてdbに接続して下のコードをコピペしてuser(role)とdbを作る
パスは任意のものを入力
create user misskey password '任意のパス';
create database misskey_db owner misskey;
/q
これが終わったら準備完了

構築

下記のコマンドを実行してください。
sudo su - -s /bin/bash misskey
git clone -b master --recursive https://github.com/misskey-dev/misskey.git --recurse-submodules
cd misskey
git checkout master
nano .config/default.yml
ってして下のdefault.ymlをコピペする
書き換えるところは適所書き換え
 
default.yml
url: https://example.tld/ #自分が使いたいドメインにする
port: 3000 
db:
  host: localhost
  port: 5432
  db: misskey_db
  user: misskey
  pass: example-misskey-pass #最初に設定したdbのユーザーのパスワード
redis:
  host: localhost
  port: 6379
id: 'aid'
proxyBypassHosts:
  - api.deepl.com
  - api-free.deepl.com
  - www.recaptcha.net
  - hcaptcha.com
  - challenges.cloudflare.com
signToActivityPubGet: true
 
configを書けたら下のやつをコピペで実行
内容はmisskeyに必要なものをインストールしてbuildしてdbを初期化するみたいな意味合いな感じかも
NODE_ENV=production pnpm install --frozen-lockfile && pnpm build && pnpm run init
これが終わったら下記のコマンドでmisskeyをstartさせる
NODE_ENV=production pnpm start
無事起動することを確認したらおk
Systemdでサービス化するには
まずmisskeyユーザーから抜けるために
exit
する
そうしたら
sudo nano /etc/systemd/system/misskey.service
って下のmisskey.serviceをコピー
[Unit]
Description=Misskey daemon

[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
Environment="NODE_ENV=production"
TimeoutSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=misskey
Restart=always

[Install]
WantedBy=multi-user.target
保存して
sudo systemctl daemon-reload

sudo systemctl enable --now misskey
ってやったら自動起動がオンになるはず。
sudo systemctl status misskey
これがactiveになっていたらおk。