-
Notifications
You must be signed in to change notification settings - Fork 17
for admin
本書は、Groundpolis インスタンスを運用する方法をまとめた手引書である。
本書では、Linux サーバーで動かすことを想定している。Windows や macOS での動作も確認されてはいるが、サポートはしていないので悪しからず。
Groundpolis を運用する上で、いくつか必要なアプリケーションがある。次のソフトウェアを、お使いの OS での方法に則ってインストールすること。
- Node.js (16.x, 18.x)
- PostgreSQL (10以上)
- Redis
- Git
- Yarn
- 直接インストールしなくても使えるが、その場合は、本書の
yarn
をnpx yarn
に置き換えること。
- 直接インストールしなくても使えるが、その場合は、本書の
- ElasticSearch
- 導入することで、検索機能を高速化できる。
- FFmpeg
- 導入することで、動画のサムネイル生成など、いくつかのメディア関連の機能が使えるようになる。
専用のユーザーアカウントを作成する。無くても動作はするが、セキュリティの観点で望ましいとされる。
useradd -m -s /bin/bash groundpolis
お使いの OS のシェルを使って次のように進める。
# 1. 先程作成したアカウントにログインする
sudo su - groundpolis
# 2. Groundpolis をダウンロードするべき場所に移動する。今回はホームディレクトリに作成する
cd ~
# 3. Git リポジトリから最新版の Groundpolis をクローンする
git clone -b master https://github.com/Groundpolis/Groundpolis.git
# 4. リポジトリに移動
cd Groundpolis
# 5. 必要なライブラリをインストールする
yarn install
-
.config/example.yml
というファイルをdefault.yml
という名前で同フォルダにコピーする。 - コピーしたファイルを開き、示される手順に従って編集する。
-
sudo su postgres
コマンドで PostgreSQL のスーパーユーザーになる -
createuser (4.で設定したDBのユーザー名) -P
コマンドを実行する - パスワードを設定するよう促されるので、 4.で設定したパスワードを指定する
-
createdb (4.で設定したデータベース名) -O (4.で設定したDBのユーザー名)
コマンドを実行する
-
yarn build-product
を実行し、ソフトウェアをビルドする -
yarn run init
を実行し、データベースを初期化する
普通に起動するだけであれば、次のコマンドを実行する。
NODE_ENV=production yarn start
systemd を用いてデーモンとして常時起動することもできる。
-
systemd のサービス定義ファイルを作成
/etc/systemd/system/groundpolis.service
-
ファイルを開き、編集する
編集例:
[Unit] Description=Groundpolis daemon [Service] Type=simple User=groundpolis ExecStart=/usr/bin/npm start WorkingDirectory=/home/groundpolis/groundpolis Environment="NODE_ENV=production" TimeoutSec=60 StandardOutput=syslog StandardError=syslog SyslogIdentifier=misskey Restart=always [Install] WantedBy=multi-user.target
CentOS で、1024 以下のポートを使用して Groundpolis を使用する場合、
ExecStart=/usr/bin/sudo /usr/bin/npm start
に置き換えること。 -
systemd を再読み込みし、サービスを有効化
systemctl daemon-reload; systemctl enable groundpolis
-
サービスを起動
systemctl start groundpolis
Groundpolis の最新版がリリースされた場合、お使いのインスタンスを更新する必要がある。
macOS/Linux環境向けだが、アップデートスクリプトを用いて簡単にアップデートできる。
使用する場合は、はじめにupdate.default.env
ファイルをupdate.env
ファイルにコピーして、中身を編集する必要がある。
普通にアップデートする場合は、Groundpolis のディレクトリ内にて
./update
するだけで良い。マイグレーションを伴うアップデートを行う場合は
./update migrate
とすること。その他の使い方は
./update -h
とすることで確認できる。
コマンドを用いて手動でアップデートすることもできる。次に手順を示す。
git pull
yarn install
yarn build-product
yarn migrate
npmのインストール場所を確認して、サービスファイル内のnpmのパスを書き換える必要があります。以下のいずれかのコマンドを試して、npmコマンドがインストールされている場所を調べます。
where npm
which npm
type npm
(C)2020 Groundpolis HQ