Skip to content

system

The system domain has 11 actions. On the meta surface they are all reached through arcane_system; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.

ActionTitleKind
system.containers_start_allStart all containerswrite
system.containers_start_stoppedStart all stopped containerswrite
system.containers_stop_allStop all containersdestructive
system.convert_docker_runConvert docker run commandread
system.docker_infoGet Docker inforead
system.prune_allPrune Docker resourcesdestructive
system.statsGet host resource usageread
system.update_allUpdate all environmentsdestructive
system.update_all_statusGet update-all statusread
system.upgradeTrigger system upgradedestructive
system.upgrade_checkCheck for system upgraderead

Start all containers

Start all Docker containers

  • Kind: write
  • Required parameters: none
  • Meta tool: arcane_system with "action": "containers_start_all"
  • Individual tool: arcane_system_containers_start_all
  • Arcane route: POST /api/environments/{id}/system/containers/start-all
  • Operation ID: start-all-containers
  • Usage: Starts every container of the environment that is not running (created, exited and other states). Use system.containers_start_stopped to start only exited ones, container.start for one. Result lists started and failed container IDs with errors, and success is false if any failed. Needs containers:start.
  • Related actions: system.containers_start_stopped, system.containers_stop_all, container.list, container.start

Start all stopped containers

Start all stopped Docker containers

  • Kind: write
  • Required parameters: none
  • Meta tool: arcane_system with "action": "containers_start_stopped"
  • Individual tool: arcane_system_containers_start_stopped
  • Arcane route: POST /api/environments/{id}/system/containers/start-stopped
  • Operation ID: start-all-stopped-containers
  • Usage: Starts only containers in state exited (never-started created containers are skipped). Use system.containers_start_all to also start those. Result lists started and failed container IDs with errors. Needs containers:start.
  • Related actions: system.containers_start_all, system.containers_stop_all, container.list

Stop all containers

Stop all running Docker containers

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_system with "action": "containers_stop_all"
  • Individual tool: arcane_system_containers_stop_all
  • Arcane route: POST /api/environments/{id}/system/containers/stop-all
  • Operation ID: stop-all-containers
  • Usage: Stops every container of the environment except Arcane’s own container, interrupting all workloads. Use container.stop for one or project.down for a stack. Result lists stopped and failed container IDs with errors. Bring them back with system.containers_start_stopped. Needs containers:stop.
  • Related actions: system.containers_start_stopped, system.containers_start_all, container.list, container.stop

Convert docker run command

Convert a docker run command to docker-compose format

  • Kind: read
  • Required parameters: dockerRunCommand
  • Meta tool: arcane_system with "action": "convert_docker_run"
  • Individual tool: arcane_system_convert_docker_run
  • Arcane route: POST /api/environments/{id}/system/convert
  • Operation ID: convert-docker-run
  • Usage: Pass dockerRunCommand, a full ‘docker run …’ command line. Nothing is created or run. Returns dockerCompose (YAML), envVars (env-file text) and serviceName, and a syntax error returns 400. Feed the result to project.create to deploy it as a Compose project. Needs containers:create.
  • Related actions: project.create, container.create, container.generate_compose

Get Docker info

Get Docker daemon version and system information

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_system with "action": "docker_info"
  • Individual tool: arcane_system_docker_info
  • Arcane route: GET /api/environments/{id}/system/docker/info
  • Operation ID: get-docker-info
  • Usage: Returns the daemon’s docker info (ServerVersion, NCPU, MemTotal, container and image counts, storage Driver, Swarm state, Warnings) plus apiVersion, os and arch. Use system.stats for live CPU/memory usage and server.app_version for Arcane’s own version.
  • Related actions: system.stats, server.app_version, swarm.info, dashboard.get

Prune Docker resources

Remove unused Docker resources (containers, images, volumes, networks)

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_system with "action": "prune_all"
  • Individual tool: arcane_system_prune_all
  • Arcane route: POST /api/environments/{id}/system/prune
  • Operation ID: prune-all
  • Usage: Prunes several resource types in one call. Each is an object {mode, until}: containers none|stopped|olderThan, images none|dangling|all|olderThan, volumes none|anonymous|all (all also removes unused named volumes), networks none|unused|olderThan, buildCache none|unused|all|olderThan. until is required with olderThan (a duration such as 24h or a timestamp). Omitted resources are left alone. Runs in the background and returns only an activityId (an already running prune returns its activityId instead). Follow its status, messages and errors with activity.get. Needs system:prune.
  • Related actions: activity.get, image.prune, volume.prune, network.prune, container.list

Get host resource usage

Sample the Docker host’s live CPU, memory, disk and GPU usage

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_system with "action": "stats"
  • Individual tool: arcane_system_stats
  • Arcane route: GET /api/environments/{id}/ws/system/stats (WebSocket)
  • Operation ID: ws-system-stats
  • Usage: Each sample has cpuUsage (percent), memoryUsage/memoryTotal and diskUsage/diskTotal in bytes, cpuCount, architecture, platform, hostname and per-GPU stats. Pass samples (up to 60) with intervalSeconds (Arcane default 2) to watch a trend, and seconds bounds the wait. For per-container usage use container.stats_all.
  • Related actions: system.docker_info, container.stats_all, dashboard.get

Update all environments

Upgrade every Arcane environment: the remote agents one at a time first, then the manager last

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_system with "action": "update_all"
  • Individual tool: arcane_system_update_all
  • Arcane route: POST /api/environments/{id}/system/upgrade/all
  • Operation ID: trigger-update-all
  • Usage: Upgrades the whole fleet in the background: every remote agent environment first, then the manager itself last (Arcane restarts). Only on the manager (400 on an agent), and refused while another update-all job is active. Returns the job with a per-environment results list. Poll system.update_all_status for progress. Needs system:upgrade.
  • Related actions: system.update_all_status, system.upgrade, environment.list, server.app_version

Get update-all status

Get the status of the latest update-all-environments job

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_system with "action": "update_all_status"
  • Individual tool: arcane_system_update_all_status
  • Arcane route: GET /api/environments/{id}/system/upgrade/all/status
  • Operation ID: update-all-status
  • Usage: Returns the latest update-all job: status running|pending_restart|completed|failed and results per environment (status pending|updating|updated|triggered|up_to_date|skipped_offline|failed, with stage and error). Answers 404 ‘no update-all job found’ until system.update_all has run once. Manager only.
  • Related actions: system.update_all, environment.list

Trigger system upgrade

Trigger a system upgrade

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_system with "action": "upgrade"
  • Individual tool: arcane_system_upgrade
  • Arcane route: POST /api/environments/{id}/system/upgrade
  • Operation ID: trigger-upgrade
  • Usage: Self-upgrades the Arcane instance serving environmentId (the manager for environment 0, that agent for a remote one): pulls the newest image and recreates Arcane’s container in the background, so the API drops briefly. Optional targetVersion picks the release instead of the version check. upToDate true means it already runs the newest image and no restart follows. One upgrade at a time. Needs system:upgrade.
  • Related actions: system.upgrade_check, server.app_version, system.update_all

Check for system upgrade

Check if a system upgrade is available

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_system with "action": "upgrade_check"
  • Individual tool: arcane_system_upgrade_check
  • Arcane route: GET /api/environments/{id}/system/upgrade/check
  • Operation ID: check-upgrade
  • Usage: Only checks whether self-upgrade is possible here (Docker socket reachable and Arcane running in a container): canUpgrade true does not mean a newer version exists. Use server.app_version (updateAvailable, newestVersion) for that. Failures come back as error true with the reason in message, not as an HTTP error.
  • Related actions: server.app_version, system.upgrade