cmux CloudФайли та мережа
cmux 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

Одне завантаження може мати розмір до 256 MB. Великий репозиторій клонуйте всередині машини.

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 або стандартний ввід.

Порти та вбудований браузер

Запустіть dev-сервер на машині й клацніть з ⌘ URL localhost у хмарному терміналі. cmux відкриє його в панелі браузера за приватною адресою машини. Сервери, які слухають лише localhost, теж працюють. VPN чи переадресація портів не потрібні.

cmux vm ports показує відкриті порти машини. Бічна панель Cloud показує їх у розділі Ports. cmux vm open machine:port/number відкриває один із них.

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

Робочий стіл

Кожна машина має робочий стіл Linux. Відкрийте його з меню машини за допомогою Open Desktop або виконайте cmux vm desktop. Він відкривається в панелі браузера через VNC. На цьому екрані працюють GUI-застосунки, Chrome і автоматизація браузера.

cmux vm desktop brave-otter

Приватна мережа

Ваші машини не мають публічних вхідних портів. cmux надає кожному акаунту приватну мережу, і кожен Mac під’єднується власним ключем WireGuard, який ніколи не залишає цей Mac. З’єднання запускається всередині застосунку cmux і не потребує схвалення.

Ваші машини можуть звертатися одна до одної в тій самій приватній мережі.

Сторінка Cloud Mac access на cmux.com показує комп’ютери Mac, які можуть під’єднуватися до ваших машин. Там можна перейменувати Mac або відкликати його доступ. Відкликання виконує вихід на цьому Mac і позбавляє його доступу до всіх машин.

Системний VPN (необов’язково)

cmux vpn up додає системний маршрут, щоб інші застосунки на вашому Mac, наприклад окремий браузер або клієнт бази даних, могли під’єднуватися до ваших машин. Самому cmux він не потрібен. Під час першого запуску схваліть мережеве розширення cmux у System Settings › General › Login Items & Extensions. cmux vpn down вимикає його.

cmux vpn up
cmux vpn status
cmux vpn down

Публічні URL

cmux cloud domains publish призначає порту на машині URL із HTTPS. Згенероване ім’я хоста закінчується на .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: відкрити URL можете лише ви.
  • team: відкрити URL можуть поточні учасники команди, якій належить машина.
  • public: відкрити URL може будь-хто, хто його має. cmux попросить підтвердження.

Для URL personal і team відвідувачі спершу входять в акаунт на сторінці cmux. Машина ніколи не бачить cookie cmux. Також можна надати доступ до одного URL одній адресі електронної пошти за допомогою cmux cloud domains grant.

Ставтеся до публічного URL як до пароля. Будь-хто, хто його має, може користуватися сервісом.

Власні домени

cmux cloud domains verify виводить DNS-записи, які потрібно додати: запис TXT для підтвердження власності, записи маршрутизації та делегування сертифіката. Додайте їх і знову виконайте verify. Після перевірки можна публікувати на домені або на піддомені на один рівень нижче.

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