Windows
WindowsでArkvoryを実行する方法は3つあります。
- グラフィカルインストーラー
Arkvory-Setup-x64.exe。推奨される方法です。Windowsサービスと専用のPostgreSQLデータベースをインストールします。インターネット接続は不要です。 - PowerShellスクリプト
install.ps1。同じWindowsサービスをインストールしますが、既存のPostgreSQLサーバーを使います。 - Docker Desktopと
install.ps1 -Mode compose。評価専用です。Docker Composeを参照してください。
要件
- Windows x64、ビルド10.0.17763以降(Windows 10 バージョン1809、Windows Server 2019以降)。
- Administratorsグループに属するアカウント。
- データ用のローカルNTFSボリューム。ファイルストレージにネットワーク共有は使用できません。
- ユーザープロファイルと
AppDataの外にあるインストールディレクトリ。サービスアカウントが、すべての親ディレクトリを読み取れる必要があります。
グラフィカルインストーラーでインストールする
- GitHub Releasesから
Arkvory-Setup-x64.exeをダウンロードします。 - ファイルを実行し、ユーザー アカウント制御のメッセージを承認します。
- 英語またはロシア語を選択し、ライセンスに同意します。
- 所有者アカウントを入力します。名前は3〜64文字で、英字(ラテン文字)、数字、ドット、ハイフン、アンダースコアを使えます。パスワードは12〜128文字です。
- セットアップがデータベース、サービス、所有者アカウントを準備するまで待ちます。
- 最後のページで、Open Arkvory and finish onboardingを選択したままFinishをクリックします。コンソールが
http://127.0.0.1:8080/console/#onboardingで開きます。
セットアップは、スタートメニューにもショートカットを2つ作成します。Arkvory(コンソール)とAPI and CLI(コンソールのヘルプページ)です。
Microsoftランタイムのために再起動が必要だと表示された場合は、Windowsを再起動して、セットアップをもう一度実行してください。既存のArkvoryのデータは保持されます。
インストール直後は、自動更新がオフです。オンにするには、更新を参照してください。
サイレントインストール
自動デプロイでは、所有者アカウントをJSONファイルに記述します。SYSTEMとAdministratorsだけが読み取れるように、ファイルを保護してください。
{ "name": "admin", "password": "<12文字以上のパスワード>" }.\Arkvory-Setup-x64.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /OWNERFILE="C:\secure\owner.json"インストーラーは、アカウントを作成した後、所有者ファイルを削除します。パスワードをコマンド引数として渡さないでください。/OWNERFILEを指定しない場合は、後からコンソールで回復キーを使って所有者を作成します。構成が完了しなかった場合、セットアップは0以外の終了コードで終了します。更新の実行中は、セットアップを実行しないでください。
グラフィカルインストーラーが作成するもの
| 項目 | 場所または値 |
|---|---|
| プログラムファイル | C:\Program Files\ProAnima\Arkvory |
| データ、設定、ログ | C:\ProgramData\ProAnima\Arkvory(インストールルート) |
| データベース | ルートのdatabase\にあるPostgreSQL 18.4。127.0.0.1上の45329-45348のうち最初の空きポートを使い、Windowsが起動時に予約するポートから除外されます |
| コンソール | http://127.0.0.1:8080/console/ |
| 回復キー | ルートのconfig\bootstrap-token.txt |
| 更新タスク | タスク スケジューラのProAnimaArkvoryUpdate。SYSTEMとして毎分実行されます |
サービス
| サービス名 | 表示名 | アカウント | スタートアップの種類 |
|---|---|---|---|
Arkvoryapi | ProAnima Arkvory api | NT AUTHORITY\LocalService | 自動(遅延開始) |
Arkvoryworker | ProAnima Arkvory worker | NT AUTHORITY\LocalService | 自動(遅延開始) |
Arkvorybackup | ProAnima Arkvory backup | NT AUTHORITY\LocalService | 自動(遅延開始) |
Arkvorydatabase | ProAnima Arkvory database | NT AUTHORITY\NetworkService | 自動 |
サービスは、サインインしているユーザーがいなくても実行されます。API、ワーカー、バックアップエージェントは、LocalServiceアカウントを共有します。データベースはNetworkServiceで実行されるため、APIのアカウントはデータベースファイルを読み取れません。
ルートに対するフルコントロールを持つのは、SYSTEMとAdministratorsだけです。LocalServiceはルートを読み取れ、変更できるのはdata\、logs\、更新リクエストの受信フォルダーだけです。回復キーと、インストーラーのその他の資格情報ファイルを読み取れるのは、SYSTEMとAdministratorsだけです。
PowerShellと既存のPostgreSQLでインストールする
組織ですでにPostgreSQLを運用している場合は、この方法を使います。管理対象のデータベースサービスは作成されず、アプリにも項目は追加されません。
- データベース管理者に、空のデータベースと、それを所有するロールを用意してもらいます。Arkvoryはこのロールでマイグレーションを実行します。
- リリースから
install.ps1をダウンロードして、内容を確認します。 - Windows PowerShellを管理者として実行で開き、次を実行します。
.\install.ps1 -AutomaticUpdatesスクリプトは、PostgreSQLの接続URLを尋ねます。入力した内容は表示されません。その後、nodejs.orgからNode.js 24.21.0をダウンロードし、SHA-256を確認して、最新の安定版リリースをインストールします。
プロンプトの代わりに、保護されたJSONファイルを渡すこともできます。
{ "ARKVORY_DATABASE_URL": "postgresql://arkvory:<password>@db.example:5432/arkvory" }.\install.ps1 -Config C:\secure\arkvory.jsonPowerShellがスクリプトの実行をブロックする場合は、powershell -ExecutionPolicy Bypass -File .\install.ps1を実行します。この変更が有効なのは、このプロセスだけです。
| パラメーター | 意味 |
|---|---|
-Root <path> | インストールルート。既定値:C:\ProgramData\ProAnima\Arkvory |
-Version <x.y.z> | 最新版の代わりに、この安定版バージョンをインストールします |
-Mode windowsまたはcompose | Windowsサービス(既定)またはDocker Compose |
-Engine dockerまたはpodman | Compose用のコンテナーエンジン |
-Config <file> | データベースURLを含む、ARKVORY_*設定のJSONファイル |
-Artifact <directory> | GitHubの代わりに、展開済みのArkvory-Windows.zipからインストールします |
-AutomaticUpdates | 自動更新をオンにします |
-Pin | インストールしたバージョンを固定します |
-Root、-Config、-Artifactは、-Artifact $PWD.Pathのように、絶対パスで指定してください。
スクリプトは、所有者アカウントを作成しません。サーバー上でhttp://127.0.0.1:8080/console/を開き、最初の所有者を作成を選択して、config\bootstrap-token.txtにある回復キーを入力します。
サービスを管理する
Get-Service Arkvoryapi, Arkvoryworker, Arkvorybackup, Arkvorydatabase
Restart-Service Arkvoryapi, Arkvoryworker
sc.exe qfailure Arkvoryapi管理コマンドは、管理者権限で起動したPowerShellで実行し、常に--rootオプションを付ける必要があります。
$root = 'C:\ProgramData\ProAnima\Arkvory'
# グラフィカルインストーラー
& 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' status --root $root
# スクリプトによるインストール
& "$root\runtime\node-v24.21.0-win-x64\node.exe" "$root\manage.mjs" status --root $rootarkvory.ps1 helpを実行すると、すべてのコマンドを確認できます。コマンドについては、設定と更新で説明しています。
障害からの復旧
- サービスのプロセスが要求なしに停止すると、Windowsは10秒後にそのプロセスを再起動します。失敗の回数は、1時間後にリセットされます。
- メインスレッドが60秒間ハングしたプロセスは自分で終了し、Windowsが再起動します。自己修復を参照してください。
- 準備状態チェックの失敗だけでは、サービスは再起動されません(たとえば、サーバーが処理中のリクエストを完了させている間)。ただし、データベースが応答しなくなると、APIとワーカーはストレージの所有権を確認できなくなります。約8秒後に自分で終了し、Windowsはデータベースが復旧するまで、10秒ごとに再起動を繰り返します。
- 自分で停止したサービスは、自分で開始するか、Windowsが再起動するまで、停止したままです。
グラフィカルインストーラーをもう一度実行すると、サービスのスタートアップの種類と回復アクションが復元されます。
ログ
| ルート内の場所 | 内容 |
|---|---|
logs\ | API、ワーカー、バックアップエージェントの出力。ファイルは20 MiBでローテーションされ、古いファイルは5個保持されます |
logs\updater.log | 更新タスクの出力。ローテーションの方法は同じです |
database\ | データベースサービスのログ(arkvory-database*.log) |
bootstrap.log | グラフィカルインストーラーの構成ステップの出力 |
セットアップは、実行したユーザーの一時フォルダーにも、独自のログを書き込みます。APIとワーカーは、1行につき1つのJSONレコードを書き込みます。監視を参照してください。
アンインストール
設定 > アプリを開き、ProAnima Arkvoryを選択して、アンインストールをクリックします。アンインストーラーは次の処理を行います。
ProAnimaArkvoryUpdateタスクを削除します。Arkvorybackup、Arkvoryworker、Arkvoryapi、Arkvorydatabaseを停止して削除します。- セットアップが追加したデータベース ポートの除外を削除します。
- プログラムファイルを削除します。
C:\ProgramData\ProAnima\Arkvoryは、意図的に残します。データベース、すべてのファイル、設定、回復キーが含まれているためです。バックアップの保管庫には一切手を触れません。同じバージョンまたはそれより新しいバージョンのセットアップを後から実行すると、残されたデータを引き続き使用します。データを削除するには、先にバックアップを取ってから、フォルダーを自分で削除してください。
スクリプトによるインストールには、アンインストーラーがありません。サービスを削除するには、管理者権限のPowerShellで次を実行します。
$root = 'C:\ProgramData\ProAnima\Arkvory'
Unregister-ScheduledTask -TaskName ProAnimaArkvoryUpdate -Confirm:$false
foreach ($role in 'backup', 'worker', 'api') {
$exe = "$root\service\arkvory-$role.exe"
if ((Get-Service "Arkvory$role").Status -ne 'Stopped') { & $exe stopwait }
& $exe uninstall
}Docker Desktop
Docker Desktopは、1人のユーザーのアプリケーションです。コンテナーが実行されるのは、このユーザーがサインインしてDocker Desktopが起動した後だけです。コンピューターを再起動すると、それまでArkvoryは利用できません。Docker Desktopでインストールする場合は、Settings > General > Start Docker Desktop when you sign inを有効にしてください。この設定がオフのとき、インストーラーとstatusコマンドは警告を表示します。サインインなしで起動する必要があるサーバーには、このページで説明しているネイティブサービスを使用してください。
トラブルシューティング
| 問題 | 対処 |
|---|---|
| セットアップが、構成が完了しなかったと報告する | bootstrap.log、セットアップのログ、データベースのログを確認します。データベースのフォルダーは削除しないでください |
database\bootstrap-startedはあるが、database\initializedがない | データベースの作成が中断されました。クラスターを削除したり、SQLを手作業でやり直したりしないでください。原因を解消してから、finish-installコマンドを実行します |
Run installer as Administrator | 管理者として実行でPowerShellを起動します |
Use a dedicated directory | ルートにすでにファイルがあります。空のディレクトリを使用してください。既存のインストールは、そのコマンドで管理します |
Node.js runtime is incomplete after extraction | ウイルス対策ソフトウェアの隔離(検疫)の内容を確認します |
Another installation owns this service | 別のルートにあるインストールのサービスが存在します。先にそれらを削除してください |
データを削除せずに、中断したインストールを完了するには、次を実行します。
& 'C:\Program Files\ProAnima\Arkvory\arkvory.ps1' finish-install --root C:\ProgramData\ProAnima\Arkvoryその他のヒントは、トラブルシューティングにあります。