jointrashposs/content/ja-JP/docs/install/manual.md
kakkokari-gtyih 8e52c51c49 wip
2023-07-08 17:36:02 +09:00

158 lines
4.3 KiB
Markdown

---
description: 'このガイドではMisskeyのインストール・セットアップ方法について解説します。'
---
Misskey構築の手引き
================================================================
このガイドではMisskeyのインストール・セットアップ方法について解説します。
::: danger
一度使用を始めたサーバーのドメイン・ホスト名は、決して変更しないでください!
:::
::: tip 前提条件
以下のソフトウェアがインストール・設定されていること
- **[Node.js](https://nodejs.org/en/)** (20.4.x以上)
- **[PostgreSQL](https://www.postgresql.org/)** (15以上)
- **[Redis](https://redis.io/)**
- **[FFmpeg](https://www.ffmpeg.org/)**
Debian/Ubuntuをお使いであれば、`build-essential`パッケージをインストールしておくと良いです。
corepackが有効化されていること
```sh
sudo corepack enable
```
:::
ユーザーの作成
----------------------------------------------------------------
Misskeyはrootユーザーで実行しない方がよいため、代わりにユーザーを作成します。
Debianの例:
```sh
adduser --disabled-password --disabled-login misskey
```
Misskeyのインストール
----------------------------------------------------------------
```sh
sudo -iu misskey
git clone --recursive https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
git submodule update --init
NODE_ENV=production pnpm install --frozen-lockfile
```
設定
----------------------------------------------------------------
設定サンプルの`.config/example.yml`をコピーし、`default.yml`にリネームします。
```sh
cp .config/example.yml .config/default.yml
```
`default.yml` をファイル内の指示に従って編集します。
ビルドと初期化
----------------------------------------------------------------
次のコマンドでMisskeyのビルドとデータベースの初期化を行います。
これにはしばらく時間がかかります。
```sh
NODE_ENV=production pnpm run build
pnpm run init
```
起動
----------------------------------------------------------------
お疲れ様でした。以下のコマンドでMisskeyを起動できます。
```sh
NODE_ENV=production pnpm run start
```
GLHF✨
:::: details systemdを用いた管理
systemdサービスのファイルを作成
`/etc/systemd/system/misskey.service`
エディタで開き、以下のコードを貼り付けて保存:
``` ini
[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
```
::: warning
CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
:::
systemdを再読み込みしmisskeyサービスを有効化
```sh
sudo systemctl daemon-reload
sudo systemctl enable misskey
```
misskeyサービスの起動
```sh
sudo systemctl start misskey
```
::: tip
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
:::
::::
## Misskeyのアップデート方法
::: warning
アップデートの際は必ず[リリースノート](https://github.com/misskey-dev/misskey/blob/master/CHANGELOG.md)を確認し、変更点や追加で必要になる作業の有無(ほとんどの場合ありません)を予め把握するようにしてください。
:::
masterをpullし直し、インストール、ビルド、データベースのマイグレーションを行います:
```sh
git checkout master
git pull
git submodule update --init
NODE_ENV=production pnpm install --frozen-lockfile
NODE_ENV=production pnpm run build
pnpm run migrate
```
アップデート内容、およびデータベースの規模によっては時間がかかることがあります。
アップデートが終わり次第、Misskeyプロセスを再起動してください。
```sh
sudo systemctl restart misskey
```
::: tip
ビルドや起動時にエラーが発生した場合は、以下のコマンドをお試しください:
- `pnpm run clean`または`pnpm run clean-all`
- `pnpm rebuild`
:::