- VPSやクラウドで、FW付きで(Allow 22,80,443)、サーバーインストールを想定
- 少なくとも
物理メモリ1GB + スワップ2GB
くらいあるとよい - amd64/arm64いずれでも動きます
sudo adduser --disabled-password --disabled-login misskey
https://github.com/nodesource/distributions/blob/master/README.md#debian-and-ubuntu-based-distributions
※ NODE_MAJOR=18
にしてインストール
sudo npm i -g pnpm
# 開始する
sudo systemctl start mongod
# MongoDBを自動起動するようにする
sudo systemctl enable mongod
sudo apt -y install redis git build-essential nginx ssl-cert letsencrypt ffmpeg
sudo su - misskey
# リポジトリクローン (めいすきーforkをcloneしてます)
git clone -b mei-m544 https://github.com/mei23/misskey.git
# ディレクトリ移動
cd ~/misskey
# コンフィグコピー
cp .config/example.yml .config/default.yml
# コンフィグ編集(vimじゃなくてnanoとかでもいい)
vim .config/default.yml
コンフィグ編集はとくに以下を変更する
# urlはクライアントから見えるURLに変更する
# example.com は 公開するホスト名に置き換える
# httpsです
url: https://example.com/
# ポートは1024以上の任意のポートに置き換える
port: 3000
# mongodb 今回は認証をしないのでuser,passはコメントアウトか削除する
mongodb:
host: localhost
port: 27017
db: misskey
# redis 今回は認証をしないので(というか対応してない)passはコメントアウトか削除する
redis:
host: localhost
port: 6379
cd ~/misskey
# パッケージインストール
NODE_ENV=production pnpm i
# ビルド
NODE_ENV=production pnpm build
# heap out of memory (exit code 134) でビルドできない場合は以下のコマンドを使用 (2048は必要に応じて増やしてください)
# NODE_OPTIONS="--max-old-space-size=2048" NODE_ENV=production pnpm build
# ログアウトして管理者ユーザに戻る
exit
管理者ユーザーで実施
sudo cp ~misskey/misskey/docs/examples/misskey.nginx /etc/nginx/sites-enabled/
# 本当は sites-available にコピーして sites-enabled からシンボリックリンクが流儀
# example.tldをドメインで置き換える
sudo vim /etc/nginx/sites-enabled/misskey.nginx
引き続き
# Nginxをリロード
sudo service nginx reload
# 管理者 から misskeyユーザーに変更する
sudo su - misskey
cd ~/misskey
# 起動してみる
pnpm start
# Now listening on port 3000 on https://example.com などと出ればOK
# 正常に起動することを確認して Ctrl+Cで 終了する
# 管理者ユーザに戻る
exit
# serviceファイルをコピー
sudo cp ~misskey/misskey/docs/examples/misskey.service /etc/systemd/system/
# 再読込して自動起動するように設定
sudo systemctl daemon-reload
sudo systemctl enable misskey
# サービスの起動
sudo systemctl start misskey
# 状態の確認
sudo systemctl status misskey
https://github.com/mei23/memo/blob/master/misskey/Setup-CloudFlareNginx.md の方法1などを参照
設定後Webブラウザで実際にアクセスしてみて動作が確認できれば完了
# Misskeyユーザーでなければ変更する
sudo su - misskey
cd ~/misskey
node cli/mark-admin.js @ユーザーID
# Misskeyユーザーでなければ変更する
sudo su - misskey
cd ~/misskey
# 変更を取得&マージ
git pull
# 依存関係の更新
NODE_ENV=production pnpm i
# ビルド
NODE_ENV=production pnpm build
# 管理者ユーザーに戻る
exit
# Misskeyを再起動する
sudo systemctl restart misskey