nanasi-apps.xyz

Misskey v13 を WSL で構築する方法

公開日: 2023/3/19
Misskey

前提

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で公開する方法はこちらです。