ツール
Rediaccは、マシンとリポジトリの日々の作業向けに4つのツールを備えています:SSH経由のファイル同期、SSHターミナル、VS Code統合、CLIの自己更新。これら4つはすべてSSH経由で動作し、リモート側にエージェントやデーモンは必要ありません。これらの操作用GUIが必要な場合は、このページは対象外です。
ファイル同期 (sync)
SSH経由のrsyncを使用して、ワークステーションとリモートリポジトリ間でファイルを転送します。
ファイルのアップロード
--localは1つまたは複数のパスを受け入れます。各パスはファイルまたはディレクトリです。ファイルは<remote>/<basename>に配置され、ディレクトリの内容は<remote>/にマージされます。単一のファイルの場合、--remote-fileを使用してファイルの宛先パスを明示的に指定することをお勧めします。
# ディレクトリ(内容がリモートにマージされます)
rdc repo sync upload -m server-1 -r my-app --local ./src --remote /app/src
# 単一ファイルをリモートディレクトリに配置(ベース名は保持される)
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote /app/conf
# 単一ファイル、明示的な宛先パス
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote-file /app/conf/config.yml
# 1つのコマンドで複数のソース
rdc repo sync upload -m server-1 -r my-app --local a.yml b.yml ./assets --remote /app
--remoteと--remote-fileは相互排他的です。--remote-fileは、ファイルを指すちょうど1つの--localパスが必要です。
--mirrorはファイルソースと組み合わせることはできません。リモートディレクトリ内の関連ファイルが削除されてしまいます。
ファイルのダウンロード
ディレクトリの場合は--remote(デフォルト)を、単一ファイルの場合は--remote-fileを使用します。この2つのフラグは相互排他的です。
# ディレクトリ
rdc repo sync download -m server-1 -r my-app --remote /app/data --local ./data
# 単一ファイル:--localは既存のディレクトリである必要があります
rdc repo sync download -m server-1 -r my-app --remote-file /app/conf/config.yml --local ./local-conf
同期ステータスの確認
rdc repo sync status -m server-1 -r my-app
オプション
| オプション | 説明 |
|---|---|
-m, --machine <name> | 対象マシン |
-r, --repository <name> | 対象リポジトリ |
--local <paths...> | 1つ以上のローカルファイル/ディレクトリパス(アップロード)またはローカル出力ディレクトリ(ダウンロード) |
--remote <path> | リモートディレクトリ(リポジトリマウントからの相対パス) |
--remote-file <path> | 単一ファイルアップロード/ダウンロード用リモートファイルパス(--remoteの代替) |
--dry-run | 転送せずに変更をプレビュー |
--mirror | ソースをデスティネーションにミラーリング、余分なファイルを削除(ディレクトリソースのみ) |
--verify | 転送後にチェックサムを検証 |
--confirm | 詳細ビューによるインタラクティブな確認 |
--exclude <patterns...> | ファイルパターンを除外 |
--skip-router-restart | 操作後のルートサーバーの再起動をスキップ |
SSHターミナル (term)
マシンまたはリポジトリ環境へのインタラクティブなSSHセッションを開きます。
省略構文
最も手軽な接続方法:
rdc term connect -m server-1 # マシンに接続
rdc term connect -m server-1 -r my-app # リポジトリに接続
コマンドの実行
インタラクティブセッションを開かずにコマンドを実行します:
rdc term connect -m server-1 -c "uptime"
rdc term connect -m server-1 -r my-app -c "docker ps"
リポジトリに接続する際、DOCKER_HOSTはリポジトリの分離されたDockerソケットに自動的に設定されるため、docker psはそのリポジトリのコンテナのみを表示します。
connect サブコマンド
connectサブコマンドは、明示的なフラグを使用して同じ操作を行います:
rdc term connect -m server-1
rdc term connect -m server-1 -r my-app
コンテナ操作
実行中のコンテナと直接やり取りします:
# コンテナ内でシェルを開く
rdc term connect -m server-1 -r my-app --container <container-id>
# コンテナログを表示
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs
# リアルタイムでログを追跡
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs --follow
# コンテナの統計情報を表示
rdc term connect -m server-1 -r my-app --container <container-id> --container-action stats
# コンテナ内でコマンドを実行
rdc term connect -m server-1 -r my-app --container <container-id> --container-action exec -c "ls -la"
| オプション | 説明 |
|---|---|
--container <id> | 対象のDockerコンテナID |
--container-action <action> | アクション:terminal(デフォルト)、logs、stats、exec |
--log-lines <n> | 表示するログの行数(デフォルト:50) |
--follow | ログを継続的に追跡 |
--external | インラインSSHの代わりに外部ターミナルを使用 |
VS Code統合 (vscode)
正しいSSH設定が事前構成された状態で、VS CodeでリモートSSHセッションを開きます。
リポジトリへの接続
rdc vscode connect -r my-app -m server-1
このコマンドは以下を実行します:
- VS Codeのインストールを検出
~/.ssh/configでSSH接続を設定- セッション用にSSHキーを保持
- リポジトリパスへのRemote SSH接続でVS Codeを起動
設定済み接続の一覧表示
rdc vscode list
接続のクリーンアップ
rdc vscode cleanup
不要になったVS CodeのSSH設定を削除します。
設定の確認
rdc vscode check
VS Codeのインストール状況、Remote SSH拡張機能、およびアクティブな接続を検証します。
前提条件: VS CodeにRemote - SSH拡張機能をインストールしてください。
ブラウザで VS Code を使う
ローカルの VS Code がない場合は、リポジトリのサンドボックス内からエディタサーバーを起動してブラウザで開けます。
rdc vscode connect -r my-app -m server-1 --browser
このコマンドは以下を実行します。
- マシン上にオープンソースのエディタサーバーを一度だけインストール(読み取り専用共有パス、チェックサム検証済み)
- リポジトリのサンドボックス内でサーバーを起動(ファイルツリー、統合ターミナル、子プロセスすべてがリポジトリと同じ環境で動作)
- ローカルポートへの SSH トンネルを開き、セッションごとのトークン URL でブラウザを起動
トンネルを閉じてもサーバーは動き続けます。再接続するとそのまま再利用されます。管理コマンド:
rdc vscode serve status -r my-app -m server-1
rdc vscode serve stop -r my-app -m server-1
| オプション | 説明 |
|---|---|
--no-open | ブラウザを起動せず URL を表示 |
--url-only | URL を1行だけ stdout に出力してトンネルを保持(スクリプト用) |
--local <port> | ローカルのトンネルポートを指定 |
--server-provider <id> | エディタサーバーの実装: openvscode(デフォルト)または code-server |
--server-archive <file> | マシン上の事前配置済みの tarball からインストール(インターネット不要) |
Linux、macOS、Windows、タブレットのどこからでも使えます。ローカルに必要なのはブラウザだけです。
CLIアップデート (update)
rdc CLIを最新の状態に保ちます。
アップデートの確認
rdc update --check-only
アップデートの適用
rdc update
アップデートはダウンロードされ、その場で適用されます。CLIはお使いのプラットフォーム(Linux、macOS、またはWindows)に適したバイナリを自動的に選択します。新しいバージョンは次回の実行時に有効になります。
ロールバック
rdc update --rollback
以前にインストールされたバージョンに戻します。アップデートが適用された後にのみ利用可能です。
アップデートステータス
rdc update --status
現在のバージョン、アップデートチャンネル、および自動アップデートの設定を表示します。
リリースチャンネル
rdc update --channel edge # 継続的にデプロイされる本番環境アップデート
rdc update --channel stable # エッジから7日間のテスト後にプロモート(デフォルト)
rdc update --status # 現在のチャンネルとバージョン情報を表示