# Cloudのファイルとネットワーク

このページでは、マシンへのファイルとシークレットの転送、ポートとデスクトップの開き方、プライベートネットワークの仕組み、URLの公開方法を説明します。

## ファイルのアップロードとダウンロード

cmux vm push はファイルまたはフォルダをマシンにアップロードします。転送はSHA-256で検証されます。デフォルトでは .git、node\_modules、.venv、\_\_pycache\_\_、.DS\_Store を除外します。これらを含めるには --no-default-excludes を、ほかのパスも除外するには --exclude を、保存するたびに変更を再アップロードするには --watch を使います。

```
cmux vm push brave-otter ./app ~/app
cmux vm push brave-otter . ~/repo --no-default-excludes
cmux vm push brave-otter . ~/repo --exclude dist --watch
cmux vm pull brave-otter ~/repo/report.html ./report.html
```

1回のアップロードは最大256 MBです。大きなリポジトリはマシン内でcloneしてください。

cmux vm pull はマシンからファイルをダウンロードします。

## シークレットファイル

cmux vm push --secret は、最大256 KBの小さなファイルを暗号化されたcmuxリンク経由でアップロードします。ファイルはデフォルトでモード0600で書き込まれます。鍵や認証情報には通常のアップロードではなくこちらを使ってください。

```
cmux vm push --secret brave-otter ~/.npmrc ~/.npmrc
```

## 環境変数

cmux vm env は変数をマシンのディスク上の ~/.config/cmux/env に保存します。新しいシェルはすべてこれを読み込みます。値は暗号化されたリンクで送られ、表示されません。cmux vm env ls は --show を付けない限り値を隠します。

```
cmux vm env set brave-otter --from-file .env
op read op://dev/stripe/key | cmux vm env set brave-otter -
cmux vm env ls brave-otter
cmux vm env rm brave-otter STRIPE_KEY
```

KEY=VALUE 形式の引数はローカルのシェル履歴に残る可能性があります。シークレットには --from-file または標準入力を使ってください。

## ポートとアプリ内ブラウザ

マシンで開発サーバーを起動し、Cloudターミナル内のlocalhostのURLを⌘クリックします。cmuxがマシンのプライベートアドレスでブラウザペインを開きます。localhostだけで待ち受けるサーバーも動作します。VPNやポートフォワーディングは不要です。

cmux vm ports はマシンで開いているポートを一覧表示します。クラウドサイドバーでは「ポート」の下に表示されます。cmux vm open machine:port/number で1つを開きます。

```
cmux vm ports brave-otter
cmux vm open brave-otter:port/3000
```

## デスクトップ

すべてのマシンにLinuxデスクトップがあります。マシンのメニューの「デスクトップを開く」から開くか、cmux vm desktop を実行します。VNC経由でブラウザペインに開きます。GUIアプリ、Chrome、ブラウザ自動化はこのディスプレイ上で動作します。

```
cmux vm desktop brave-otter
```

## プライベートネットワーク

マシンには外部から接続できる公開ポートがありません。cmuxはアカウントごとにプライベートネットワークを用意し、各MacはそのMacから外に出ない独自のWireGuard鍵で接続します。接続はcmuxアプリ内で開始され、承認は不要です。

同じプライベートネットワーク上で、マシン同士は互いに通信できます。

cmux.comのCloud Mac accessページに、マシンに接続できるMacが一覧表示されます。そこでMacの名前を変更したり、アクセスを取り消したりできます。Macのアクセスを取り消すと、そのMacはサインアウトされ、すべてのマシンへのアクセスを失います。

## システムVPN（任意）

cmux vpn up はシステムルートを追加し、別のブラウザやデータベースクライアントなど、Mac上のほかのアプリからマシンに接続できるようにします。cmux自体には必要ありません。初回は、システム設定 › 一般 › ログイン項目と機能拡張 でcmuxのネットワーク機能拡張を承認します。cmux vpn down でオフにします。

```
cmux vpn up
cmux vpn status
cmux vpn down
```

## 公開URL

cmux cloud domains publish は、マシンのポートにHTTPSのURLを割り当てます。生成されるホスト名の末尾は .cmux.sh です。

```
cmux cloud domains publish brave-otter 3000
cmux cloud domains publish brave-otter 3000 --access team
cmux cloud domains publish brave-otter 8080 --access public --yes
cmux cloud domains list
cmux cloud domains grant <hostname> teammate@example.com
cmux cloud domains rm <hostname>
```

各URLにはアクセスモードがあります。デフォルトはマシンの所有者です。つまりあなた、またはチームがマシンを所有している場合はそのチームです。

-   personal：あなただけが開けます。
-   team：マシンを所有するチームの現在のメンバーが開けます。
-   public：URLを知っている人なら誰でも開けます。cmuxは確認を求めます。

personalとteamのURLでは、訪問者はまずcmuxのページでサインインします。マシンがcmuxのCookieを受け取ることはありません。cmux cloud domains grant を使うと、1つのURLへのアクセスを1つのメールアドレスに付与することもできます。

公開URLはパスワードと同じように扱ってください。URLを知っている人は誰でもサービスを使えます。

## カスタムドメイン

cmux cloud domains verify は追加すべきDNSレコードを出力します。所有権確認用のTXTレコード、ルーティング用のレコード、証明書の委任です。これらを追加してから、もう一度 verify を実行します。検証後は、そのドメインまたはその1階層下のサブドメインで公開できます。

```
cmux cloud domains verify preview.example.com
cmux cloud domains publish brave-otter 3000 --domain app.preview.example.com
```

Canonical: https://cmux.com/ja/docs/cloud/networking

Documentation index: https://cmux.com/llms.txt
