ポータブルビルド
セットアップ
Linux または Windows で、Docker を使わず、通常のプログラムとして HolyArrs を実行します。主な実行方法は、引き続き Docker です。
始める前に
始める前に へのリンク- ビルドするマシンに Python 3、Git、Docker。
- 通常のプロジェクトビルドで中身が入った Go モジュールキャッシュと、
app/frontend/package-lock.jsonからインストールしたフロントエンドの依存パッケージ。 - ビルド済みの Web アプリがコミットされていること。ビルドはコミット済みのソースだけを使い、コミットしていない編集は含まれません。
ビルドして実行する
ビルドして実行する へのリンク-
チェックアウトから、アーカイブをビルドします:
Terminal window python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/mod出力先には、チェックアウトの外にある新しいフォルダーを使います。ターゲットごとにアーカイブが 1 つと、
SHA256SUMSファイルが表示されます。 -
アーカイブを
SHA256SUMSと照合します。 -
新しいフォルダーに展開します。プログラムと設定は別々のフォルダーに分けておきます。
-
自分の設定パスを指定して起動します:
Terminal window ./holyarrs -config /srv/holyarrs/config -addr :6262Windows の PowerShell では:
Terminal window .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262' -
http://your-server:6262を開きます。初回セットアップのウィザードが表示されます。すぐにオーナーアカウントを作成してください。最初にアクセスした人がオーナーになります。
オプション
オプション へのリンクどのユーザーで実行するか
どのユーザーで実行するか へのリンクHolyArrs は専用のアカウントで実行し、書き込み権限は設定とメディアだけに与えます。
- コンテナの外で root として、
PUIDとPGIDなしで起動すると、「started as root outside a container」(コンテナの外で root として起動されました)と表示して停止します。 PUIDとPGIDを設定すると、設定フォルダーの所有者をそのユーザーに変更し、そのユーザーに切り替わります。- Windows では、そのアカウント用の NTFS 権限で設定フォルダーを保護します。
再起動と上限
再起動と上限 へのリンクアーカイブはサービスをインストールしません。自動再起動とメモリのハード上限は、自分のサービスマネージャー(systemd、NSSM、タスク スケジューラ)で設定します。アプリからの再起動とバックアップの復元は、どちらもプログラムを終了し、起動し直されることを前提にしています。
アップデートと、前のバージョンに戻す方法
アップデートと、前のバージョンに戻す方法 へのリンク- アプリを停止する前に、新しいアーカイブを照合します。
- HolyArrs を停止し、マスターキーを含めて設定フォルダーを丸ごとコピーします。または、アプリ内でバックアップを作成し、キーを別に保管します。
- 新しいプログラムを別のフォルダーに展開します。古いプログラムと、古い設定のコピーは残しておきます。
- 自分の設定を指定して、新しいプログラムを起動します。サインインでき、
/healthに running と表示されれば成功です。
バックアップを参照してください。
うまくいかないとき
うまくいかないとき へのリンク| 症状 | 原因 | 対処 |
|---|---|---|
| 「started as root outside a container」 | root として起動した | 専用のユーザーで実行するか、PUID と PGID を設定します。 |
| 復元のあとアプリが終了する | 復元はデータを準備して、コード 75 で終了する | もう一度起動して適用します。サービスマネージャーで再起動するように設定します。 |
| Linux で HTTPS の呼び出しが失敗する | システムの CA 証明書がない | インストールします。 |
| ビルドで、出力先がすでにあると言われる | 既存の出力フォルダーは拒否される | 新しいフォルダーを選びます。 |
上級者向け
上級者向け へのリンクビルドのオプション
| オプション | 内容 | 既定値 |
|---|---|---|
--targets |
ビルドする対象を、カンマ区切りで一部だけ指定 | linux-amd64, |
--low-resource |
各ビルダーコンテナに 1 CPU、2 GiB、256 プロセスを割り当て、Go はパッケージを 1 つずつビルドします。アーカイブ作成は引き続きホスト上で、この上限の外で実行されます。 | オフ |
ビルドは、プロジェクトでバージョンを固定した Go ビルダーイメージの中で、ネットワークをオフにして実行されるので、何もダウンロードしません。モジュールキャッシュは読み取り専用でマウントされます。ターゲットが 1 つでも失敗すると、出力フォルダーは残りません。コミットはバージョン番号に追加され、プログラムに組み込まれます。アプリとそのバックアップは、この値を報告します。
アーカイブに含まれるもの
プログラム、ライセンス、サードパーティの通知、ガイド、ソースのマニフェスト、パッケージの識別情報です。別のソースアーカイブに、プロジェクトのソースと Go の依存パッケージが入っています。バイナリの隣に置いておいてください。
SHA256SUMS は、ファイルが一致することを証明します。署名ではありません。同じコミット、バージョン、入力からは同じアーカイブができるので、ビルドし直して確かめられます。
実行時のメモ
| 項目 | 詳細 |
|---|---|
| 設定パス | 既定値は /config。必ず -config を渡し、ローカルディスク上を指定します。 |
| メモリの目標値 | GOMEMLIMIT なしでは 384 MiB。割り当てるメモリの約 80 パーセントに設定します。目標値であり、ハード上限ではありません。 |
| 低メモリモード | Linux では、約 2.5 GiB 以下で自動的にオンになります。目標値はメモリの 4 分の 1 に下がり、192 ~ 384 MiB の範囲になります。HOLYARRS_LOW_MEMORY=1 または 0 で決められます。 |
| Node | 実行には不要です。 |
| ハードリンク | ダウンロードとライブラリフォルダーを 1 つのファイルシステムに置きます。 |
関連ページ
関連ページ へのリンクHolyArrs は無料です。時間の節約になったら、GitHub でスターを付ける、スポンサーになる、コーヒーをおごるのいずれかで応援してください。