Start troubleshooting by task

Start with the right checklist for connection, configuration, builds, or network issues

BerryVM provides a dedicated physical Cloud Mac node. Instead of sending you through a generic help directory, we help you identify the affected layer first and then collect evidence in order. Most environment issues can be narrowed to connection, system, dependencies, builds, or networking before you submit a ticket.

Service type
Dedicated physical machine, not a virtual machine
Available nodes
Singapore, Tokyo, Seoul, Hong Kong, US East
Support materials
Order ID, node, time, steps, redacted logs
First access

Complete four checks before setting up your project environment

Access details are only for establishing the initial session. A successful connection does not complete delivery verification. Update credentials, confirm the device configuration and node, then move your code, secrets, or build jobs onto the machine.

Delivery details

Verify the order and access details

Confirm that the order ID, assigned node, device name, connection method, and details update time match. Never forward access details to public channels or store credentials in a project repository.

  • The order ID matches the console record
  • The node is within the selected order scope
  • The device name matches the delivery record
Access control

Update credentials after first login

After establishing a session with the delivered details, immediately replace them with strong credentials managed by your team. Give each member a separately controlled access method instead of sharing one secret long term.

  • Update the initial login credentials
  • Remove unused access permissions
  • Store recovery details in a controlled system
Device verification

Confirm the physical device and system information

Check the chip, memory, storage capacity, macOS version, time zone, and free disk space. The base tier should be M4, 16GB, 256GB; the high-memory tier should be M4 Pro, 64GB, 2TB.

  • Every specification matches the selected model
  • The time zone fits the team’s schedule
  • The system disk has room for builds and caches
Session verification

Establish a secure, recoverable session

Verify both the graphical interface and command-line path, and record the local network, connection protocol, and test time. Run long jobs in a recoverable session or Runner rather than relying on one foreground window to stay online.

  • Both the graphical interface and command line work
  • Sleep and power settings meet task requirements
  • Disconnect and reconnect once to verify recovery
Environment setup

Make the toolchain reproducible, not merely functional in the current session

Pin system and tool versions first, then restore dependencies, caches, and the Runner. Leave a repeatable checklist at every step so future migrations, rebuilds, and device expansion do not depend on personal memory.

INITIALIZATION SHEET

Development environment baseline

MAC / BASELINE
Xcode

Confirm the project’s required major version, command-line tools path, available SDKs, and build targets. Before upgrading, check compatibility with the existing pipeline and dependencies.

Pin the version first
Command-line tools

Check the actual paths for the compiler, Git, Shell, Ruby, Python, and Node.js to prevent interactive sessions and the Runner from reading different environments.

Verify the paths
Homebrew

Export lists of formulae, casks, and private sources, then restore them in batches as the project requires. Verify versions individually after migration instead of copying an unknown directory wholesale.

Restore from the checklist
Swift

Compare the Swift and SDK combination with the project declaration. Use a minimal project to verify compilation, testing, and archiving before running the full project.

Minimal verification
CI Runner

Confirm the execution user, working directory, environment-variable sources, cache location, concurrency, and log-retention policy. Inject sensitive values through controlled variables.

Separate context
Migration order

Declare first, install second, verify last

  1. Export the inventory:Versions, dependencies, sources, Runner tags, and project scripts.
  2. Restore the base layer:Xcode, command-line tools, and package managers.
  3. Restore the project layer:Lockfiles, private sources, caches, and environment variables.
  4. Run verification:Compile, test, archive, and validate artifacts separately.
Never copy secrets directly

Migrate credentials separately from project files

Repositories, build caches, signing materials, and access credentials are different data types. Migrate them separately with least privilege, retain only diagnostic fields in logs, and redact them before submitting a support request.

Review security measures
Troubleshooting

Check one fault layer at a time instead of changing every variable

Reproduce the issue and preserve the failure state, then change only one condition. These five paths cover connection, builds, disk, dependencies, and node networking; each lists the evidence to collect before requesting support.

A

Unable to establish a remote connection

First confirm that the order is within its active rental period, access details are current, and the target node and protocol are correct. Then test from another local network to distinguish client settings, local egress, and node-route issues.

  • Keep the full client error and its timestamp
  • Record the local network type, protocol, and target node
  • Test the same details in another controlled client
Output: connection-layer conclusion
B

Build failure or interrupted archive

Run the same commit, tool versions, and command again. First stop unrelated concurrent jobs, then compare the user, paths, environment variables, and permissions in the interactive session and Runner.

  • Include the failed command, exit code, and first actionable error
  • Record Xcode, SDK, Swift, and dependency versions
  • State whether it reproduces only in the Runner or only in the interactive session
Output: toolchain differences
C

Insufficient disk space

Check the project workspace, build artifacts, simulator data, package-manager caches, and Runner caches separately. Do not look only at total root-directory usage; identify the fastest-growing directory and confirm whether it can be safely rebuilt.

  • Record free capacity and major directory usage
  • Distinguish source files, rebuildable caches, and final artifacts
  • Before cleaning, preserve the path information from the latest abnormal growth
Output: space attribution
D

Dependency installation or version resolution failure

Check lockfiles, package sources, proxies, architecture, and execution user. Save the failure output before clearing caches; indiscriminate deletion can erase a comparable failure state and add download and resolution variables.

  • Confirm whether the lockfile changed with the commit
  • Record the package sources and tool paths actually used
  • Use a minimal dependency set to verify networking and resolution
Output: dependency-layer conclusion
E

Node network instability

Sample continuously from the same source, with the same protocol and at similar times, then compare with another network egress. A single ping cannot represent the full path for artifact uploads, repository pulls, or remote desktop sessions.

  • Record the source network, target node, protocol, and sample count
  • Keep latency, packet loss, and application-layer errors together
  • State whether the impact affects the connection, repository, dependency source, or artifact destination
Output: route comparison
Service continuity

How to read the 99.9% availability target

Availability is not the speed of one connection, nor does it equal the quality of any third-party network path. When assessing a service event, consider node status records, order validity, impact scope, and the measurement definitions in the service terms.

SERVICE AVAILABILITY TARGET 99.9% Service availability target

All nodes operate 365 days a year. Scope, exclusions, claim deadlines, and compensation are governed by the service terms.

View measurement and compensation terms
Daily status bar for the past 90 days Each cell represents one calendar day
Normal status
Days 1–30
Days 31–60
Days 61–90

Status cells provide a quick view of daily records; ticket decisions are based on verifiable node records, affected times, and the applicable scope of the service terms.

Knowledge articles

Turn common setup and migration tasks into reusable steps

Articles are sorted by publication date and cover MLX, Homebrew, deployment-model comparisons, React Native builds, remote-debugging preparation, and data-protection boundaries.

New article in progress

Knowledge-base articles will appear here by date after publication. For now, use the checklists above to troubleshoot connections, environments, builds, and networks.

Submit a support request

A traceable ticket should include this information

Support staff first need to reproduce or locate the fault layer. Complete context reduces follow-up, but do not send access passwords, tokens, private keys, or unredacted project data merely for completeness.

SUPPORT REQUEST

Issue context checklist

5 REQUIRED FIELDS
Order ID
Enter the order ID shown in the console; do not substitute a custom project code.
Node
Singapore, Tokyo, Seoul, Hong Kong, or US East, and state whether only that node is affected.
Incident time
Provide the start time with time zone, duration, and most recent normal time.
Reproduction steps
Describe the path from the initial state to the first error, including the command, tool version, and actual result at each step.
Redacted logs
Keep error context, exit codes, and component versions; remove credentials, tokens, personal data, and project secrets.
Console ticket

Use a ticket first for active orders

Tickets can link the order and node records, making them suitable for connection issues, device status, build environments, billing, and service events. After submitting, add redacted logs and reproduction results in the same thread.

Log in to the console and create a ticket
Contact routing

General questions, billing issues, and active incidents use different paths

Choose the channel that preserves the most relevant context. Send active device issues through a console ticket first; for general questions before ordering, contact support by email.

General questions

Configuration, nodes, and usage boundaries

Describe the target workload, candidate configuration, expected rental period, and your team’s region. Do not send sensitive project files; describe only the task type and resource requirements.

View contact methods
Orders and billing

Payment status, billing, or rental-period questions

Log in to the console and reference the specific order. BerryVM bills exclusively in USD and supports only USDT-TRC20 and Visa / Mastercard / Amex (via Stripe).

Submit a billing ticket
Active incident

Connection, device, or node issue

Include the order ID, node, incident time with time zone, impact scope, reproduction steps, and redacted logs. Do not submit only screenshots or send access credentials.

Submit an incident ticket now
Need a Cloud Mac ready to use

Choose the configuration and term for your task, then select delivery from five nodes

Berry M4 suits lightweight builds and everyday development; Berry M4 Pro is designed for memory-intensive builds and MLX experiments. Before ordering, verify the model, daily, weekly, monthly, or quarterly term, node, and additional storage.