Documentation menu

Reference · Beta

Abotlogixfile.json field reference

The public snake_case fields VPServ supports, with practical requirements for prepared projects.

Root fields

FieldStatusParser defaultUse
project_nameOptionalProject or folder nameA readable name for the prepared project. When it is omitted, VPServ uses the available project or folder name.
app_urlOptional with a defaulthttp://127.0.0.1:8000The project URL VPServ can present for opening. It does not change a service command or configure a tunnel port.
servicesOptional[]The array of long-running processes VPServ should start. Omit it when a project does not need a service.
setup_commandsOptional with a default[]One-time command argument arrays that run before services. Omit this field when no preparation is needed.
tunnelOptionalAbsent / no tunnelNamed Cloudflare tunnel configuration. Local-only projects can omit it entirely.

Use only the fields your project needs. Do not add empty fields simply because another example includes them.

services

services is the optional array of processes VPServ should start when the user taps Run Environment. Place services in the order the project needs them processed.

FieldStatusParser defaultUse
nameRequiredNoneA readable service label used to identify the configured process.
commandRequiredNoneA required argument array. For a working service, put the executable first, followed by one argument per array item.
delay_after_start_msOptional with a default0A fixed pause in milliseconds after the service launch step. It is not a service health check.
init_scriptsOptional with a default[]Existing project-root-relative .sql files for the MariaDB initialization path. Omit it when no SQL initialization is needed.
tool_idOptional with a defaultThe first item in commandAn optional explicit tool name. Most project authors can omit it and let VPServ use the first item in the service command.
A command is an argument array
{
  "name": "php_server",
  "command": [
    "php",
    "-S",
    "0.0.0.0:8000",
    "-t",
    "."
  ]
}
CorrectIncorrect
One executable and one array item per argumentOne complete shell command stored as one command item
["php", "-S", "0.0.0.0:8000", "-t", "."]["php -S 0.0.0.0:8000 -t ."]

The first item is the executable. Every remaining item is one argument. Use the selected project folder where your project command needs it.

setup_commands

setup_commands is an optional list of command argument arrays. Use it only for one-time preparation such as installing project dependencies, preparing project files, or running a supported build step. Commands run before services, in listed order, and use the synchronous setup path.

Optional setup command fragment
{
  "setup_commands": [
    [
      "python3.13",
      "-m",
      "pip",
      "install",
      "-r",
      "{home}/requirements.txt"
    ]
  ]
}

tunnel

tunnel is optional. Omit it for a local-only project. When enabled, VPServ starts the configured named Cloudflare tunnel as part of the project workflow.

FieldStatusParser defaultUse
enabledOptional with a defaultfalseTurns the configured named tunnel workflow on or off.
domainConditionally required""The public hostname for an enabled named tunnel. An enabled tunnel needs a configured hostname.
tokenConditionally required""The named tunnel credential for a usable enabled tunnel. Never commit a real token.
Named Cloudflare tunnel fragment
{
  "tunnel": {
    "enabled": true,
    "domain": "app.example.com",
    "token": "YOUR_CLOUDFLARE_TUNNEL_TOKEN"
  }
}

For MariaDB initialization, init_scripts uses existing project-root-relative files whose names end in .sql. It is not a generic script runner.