Misskey

Misskey v13 を WSL で構築する方法

keywords
Misskey , misskey , みすきー , ミスキー , wls , wsl , debian , 構築 ,建てる , 立てる , 方法 , やりかた , やり方 , インスタンス , instance , いんすたんす ,鯖 , さば , サーバー ,さーばー,建て方, 立て方 ,Misskeyインスタンス
date
Mar 19, 2023
slug
wsl-misskeyv13
author
status
Public
tags
Misskey
summary
Misskey v13をwslで構築する方法を解説します。
type
Post
thumbnail
https://raw.githubusercontent.com/misskey-dev/assets/main/banner-2.png
category
Misskey
updatedAt
Jul 26, 2023 06:43 AM

前提

windows 10以上のosが入ってること。
 

本編

ほぼ動画を参考にすればよいと思われます。
 
最初に実行してください。
Package諸々を入れるものです。
sudo apt update

sudo apt install -y curl git build-essential

curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -

sudo apt install -y curl ca-certificates gnupg2 lsb-release
 
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt update 

sudo apt install nodejs redis ffmpeg

sudo corepack enable

sudo apt install -y postgresql-common

sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -i -v 15
 
これが終わったら
sudo nano /etc/wsl.conf
を実行して
[boot]
systemd=true
これを書き込んでCtrl+Sで保存してCtrl+Xでexitしてください。
そしたら次に下のコマンドでwslを再起動してください 
wsl.exe --shutdown
wslを起動します
起動したら下記のコマンドでサービスを有効化します
sudo systemctl enable --now redis-server

sudo systemctl enable --now postgresql
次に下のコマンドでdatabaseのセットアップをします。
sudo -u postgres psql
実行出来たら下のやつを実行してください。
パスワードは変更してください。
create user misskey with password '自分の好きなパス';
create database misskey_db owner misskey;
ALTER SYSTEM SET max_connections = '200';
ALTER SYSTEM SET shared_buffers = '1GB';
ALTER SYSTEM SET effective_cache_size = '3GB';
ALTER SYSTEM SET maintenance_work_mem = '256MB';
ALTER SYSTEM SET checkpoint_completion_target = '0.9';
ALTER SYSTEM SET wal_buffers = '16MB';
ALTER SYSTEM SET default_statistics_target = '100';
ALTER SYSTEM SET random_page_cost = '1.1';
ALTER SYSTEM SET effective_io_concurrency = '200';
ALTER SYSTEM SET work_mem = '2621kB';
ALTER SYSTEM SET min_wal_size = '1GB';
ALTER SYSTEM SET max_wal_size = '4GB';
ALTER SYSTEM SET max_worker_processes = '4';
ALTER SYSTEM SET max_parallel_workers_per_gather = '2';
ALTER SYSTEM SET max_parallel_workers = '4';
ALTER SYSTEM SET max_parallel_maintenance_workers = '2';
/q
次にユーザーの作成をします。
下記のコマンドを実行してください。
sudo adduser --disabled-password --disabled-login misskey
すべて空白でEnter連打でおkです。
sudo su -s /bin/bash - misskey
として、misskeyユーザーに移動してから下記のコマンドです。
git clone -b master --recursive https://github.com/misskey-dev/misskey --recurse-submodules
cd misskey
git checkout master
nano .config/default.yml
実行が終わったらnanoが開くので、下記のconfigfileを適所書き換えコピペして保存してください。
変更するところは url と db: pass: でよいはずです。
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
Ctrl+SをしてからCtrl+Xでexitしてから下記のコマンドです
NODE_ENV=production pnpm install --frozen-lockfile && pnpm build && pnpm run init
これが終わったら下記のコマンドでMisskeyを起動できるはずです。
NODE_ENV=production pnpm start
無事に起動することを確認出来たらCtrl+CをしてCtrl+Dをしてから下記のコマンドです。
sudo nano /etc/systemd/system/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
Ctrl+SをしてからCtrl+Xをしてから下記のコマンドです
sudo systemctl daemon-reload
sudo systemctl enable --now misskey
これでmisskeyの自動起動がonになります。
sudo systemctl status misskey
とやってactiveになっていたら起動してるとみてよいでしょう。
 
Cloudflare argo tunnelで公開する方法はこちらです。