Misskey
Misskey v13をDebian系で構築する
keywords
Misskey , misskey , みすきー , ミスキー , wls , wsl , debian , 構築 ,建てる , 立てる ,建て方, 立て方 , 方法 , やりかた , やり方 , インスタンス , instance , いんすたんす ,鯖 , さば , サーバー , さーばー , misky , Debian , debian , debian系 , linux , マニュアル , まにゅある , manual,v13,Misskeyインスタンス
date
Mar 19, 2023
slug
debian-misskeyv13
author
status
Public
tags
Misskey
summary
Misskey v13をdebian系osで構築する方法を解説します。
type
Post
category
Misskey
updatedAt
Sep 7, 2024 09:41 AM
前提
memory 4gb以上(swapは省く)
Debian系統のOSを使用していること
cloudflared (cloudflare argo tunnel)で公開する
ことを前提に進めていきます。
nginxの設定などを省いています。
準備
packageをインストールします
sudo apt update
sudo apt install -y curl git build-essential ca-certificates gnupg2 lsb-release
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
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 -y nodejs redis ffmpeg postgresql-common
sudo corepack enable
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -i -v 15
終わったらしっかりインストールできているかを確認します
sudo systemctl enable --now redis-server
sudo systemctl enable --now postgresql
node -v
こうやって v18.xx.xみたいな文字列が出てきたらおkです
次に下記のコマンドを実行してユーザーを作成します。
sudo adduser --disabled-password --disabled-login misskey
これで色々聞かれるのですがenterでおkです
次にdbを作成します
sudo -u postgres psql
このコマンドを入力したらこのサイトに行ってサーバーのスペックを入力してください。
Number of Connections という項目は100くらいにしておくのがおすすめです。
入力して generate を押すと画像のようになると思うのでALTER SYSTEMを選択してcopyしてターミナルに貼り付けてください。
これが終わったら
create user misskey with 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
するとeditorが開くので下記の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: '
port: 6379
id: 'aidx'
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
signToActivityPubGet: true
これが終わったら下記のコマンドでパッケージのインストール、build、dbの初期化を終わらせます。
NODE_ENV=production pnpm install --frozen-lockfile && pnpm build && pnpm run init
これが終わったら多分misskey自体を起動できるようになります。
下記のコードで起動できます。
NODE_ENV=production pnpm run start
listening to port 3000~~~~ みたいなのが出たら起動できています
systemdで自動起動できるようにさせるには
exit
これで自分のユーザーに戻ります
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
保存して
sudo systemctl daemon-reload
sudo systemctl enable --now misskey
としたら自動起動がオンになるはずです
sudo systemctl status misskey
これがactiveになっていたらおkです。