Console account
Confirm that the person placing the order can sign in to the console and view orders, billing, nodes and device status. The technical owner should know who submits tickets and handles renewals.
This onboarding guide covers the required materials, choosing between two dedicated physical machine tiers, confirming four nodes, your first SSH login and Xcode build verification. Follow the steps in order and complete each one before moving on.
Clarifying who owns access, builds and permissions before ordering reduces back-and-forth after delivery. Each of the five items below should have a clear owner.
Confirm that the person placing the order can sign in to the console and view orders, billing, nodes and device status. The technical owner should know who submits tickets and handles renewals.
Prepare an Ed25519 public key approved by your team and submit only the public key. Keep the private key on a controlled device or in a key-management system; never send it by email, ticket or repository.
Confirm the target Xcode version from the project, CI configuration and dependencies, and record the minimum macOS requirement. Do not write only “latest”; keep a version number that can be checked.
Confirm that the node can access the required repositories using restricted deploy keys or short-lived tokens. Define the minimum permission scope first, then decide whether artifact writes or status updates are allowed.
For graphical tasks, prepare a VNC or macOS Screen Sharing client in advance. Prefer SSH for automation, diagnostics and file operations to reduce reliance on graphical sessions.
Both machine tiers use Apple Silicon physical nodes and dedicated physical machines, not virtual machines. Singapore, Tokyo, Seoul and Hong Kong are all in the catalogue; availability is based on the real-time response from the console when you place the order.
M4 · 16GB RAM · 256GB SSD
Ideal for a single iOS build pipeline, everyday macOS compilation, dependency checks and a lightweight self-hosted runner that stays online.
How to choose: Measure peak memory and disk working-set usage during one clean build, then reserve space for dependency caches, logs and artifacts.
M4 · 24GB RAM · 512GB SSD
Built for larger Xcode workspaces, parallel tests, container workloads and teams that need more build cache and artifact storage.
How to choose: When a runner compiles, runs simulator tests and processes dependencies at the same time, check peak memory and cache growth first.
Choose a node close to your main developers, code source or automation entry point. Do not compare a single ping alone; also observe stability during working hours and the remote desktop experience.
Rent by the day, week, month or quarter. For short-term validation, choose a term that matches the expected test duration; for a stable pipeline, align the term with your release cadence and renewal owner.
The order lists the base machine, term, node and add-ons separately. All prices and settlement use USD; the person placing the order should review the details once before submitting payment.
Check the network, amount and order identifier against the payment details returned by the console. Confirm that you are using the TRC20 network before transferring, then retain the transaction record for reconciliation.
Card payments are processed by Stripe. After returning from the payment page, check the order status and billing amount in the console; the browser return page is not proof that the device has been delivered.
The plan name, M4 chip, memory and base SSD must match your selection.
Confirm day, week, month or quarter; do not mistake a short test rental for a long-term commitment.
Confirm that Singapore, Tokyo, Seoul or Hong Kong matches your connection plan.
Confirm the SSD expansion and Thunderbolt 5 link quantity before submitting payment.
The payment gateway available for your order is determined by the console. Payment completion does not mean the device is ready to connect; continue by checking the order status and delivery details.
Once the device status shows that it is ready to connect, read the address, account instructions and rental term. Do not use chat messages, old screenshots or connection details from another order.
Every field should come from the same order. If the node, address or term does not match expectations, stop and submit a ticket through the console before connecting.
Continue checking the order status in the console. Delivery timing follows the time confirmed in the console; do not repeatedly try an address that has not been provided.
When submitting a ticket, include the order identifier, expected node, current device status and the time the issue was found. Do not include passwords, private keys or complete payment credentials.
On your first SSH connection, do not rush to install dependencies. Confirm that the target address, host fingerprint, login user and hardware details all belong to the current order.
$ export ZOOMMINI_HOST=assigned-host
$ ssh-keyscan -t ed25519 "$ZOOMMINI_HOST" | ssh-keygen -lf -
256 SHA256:7qV3mL9kR2nF4cX8 assigned-host (ED25519)
$ ssh build@"$ZOOMMINI_HOST"
Last login: remote session
build@zoommini-node ~ %
$ sw_vers
ProductName: macOS
ProductVersion: 15.2
BuildVersion: 24C101
$ system_profiler SPHardwareDataType
Hardware:
Model Name: Mac mini
Chip: Apple M4
Memory: 16 GB
$ uname -m
arm64
Put the assigned address in a temporary environment variable or SSH config to avoid an incorrect address entering your command history. Record the port parameter too if it is not the default.
Compare the locally retrieved Ed25519 fingerprint with the delivery record character by character. If they differ, stop connecting and do not accept the changed record automatically.
sw_vers confirms the macOS version, system_profiler confirms the chip and memory, and uname -m should return arm64.
First verify the selected Xcode, then build the project and finally run the automated tests. Keep the exit code and key logs from every step instead of judging success from the interface alone.
$ xcodebuild -version
Xcode 16.2
Build version 16C5032a
The Xcode and build versions match the project matrix, and the command exits with code 0.
$ xcodebuild -scheme App build
Prepare packages
CompileSwiftSources normal arm64
Ld App normal arm64
** BUILD SUCCEEDED **
The output ends with BUILD SUCCEEDED and contains no signing, dependency or disk-space errors.
$ fastlane ios test
Resolving Swift Package Manager dependencies
Test Suite 'All tests' passed
Executed 48 tests, with 0 failures
fastlane.tools finished successfully
The test count matches expectations, failures are 0, fastlane finishes normally and the process exits with code 0.
Run xcode-select -p to check the current developer directory, then switch it to match the team version matrix. Do not modify project files to work around a version issue.
Check repository access, package-manager paths and network access scope. Save the error log before clearing caches so the original failure evidence is not lost.
Check how certificates, provisioning profiles and runner permissions are loaded. Inject secrets through a controlled key-management system rather than writing them into scripts or build logs.
A successful acceptance check only proves that the toolchain works. Before connecting it to CI/CD, update credentials, manage public keys, remove unnecessary access and apply least privilege to the runner.
Replace any initial credentials that the delivery instructions require you to change. Use a unique, controlled password and never reuse it on a local development machine, repository or another node.
Configure separate public keys for each person and automation identity that needs access. Do not share one private key among multiple people; key comments should trace back to a specific purpose.
Delete public keys, repository tokens, administrator permissions and remote desktop access added temporarily during testing. Revoke access immediately for people who leave the team and runners that are decommissioned.
Allow the runner to read only the required repositories, run approved scripts and write to designated artifact locations. Do not grant system administrator access or cross-project tokens by default.
Add the node to production scheduling only after all five conditions are met: order fields match, the SSH fingerprint matches, system specifications match, build and test exit codes are 0, and temporary permissions have been removed.
Choose your machine, node and term first. Once the device is ready, follow this page to verify the fingerprint, check the system, validate the build and harden access.