Documentation menu

Reference · Beta

Abotlogixfile.json field reference

The public snake_case fields accepted by the current VPServ parser, with exact parser defaults and practical requirements.

Root fields

FieldStatusParser defaultUse
project_nameOptional with a defaultThe saved project name supplied by VPServA readable name for the prepared project. When it is omitted, VPServ uses the project title it passed to the parser.
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.
servicesRequiredNoneThe array of processes VPServ should prepare and start. Each service needs a name and a command array; a working service also needs an executable as its first command item.
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.

The parser requires services. It supplies defaults for the optional fields above, so do not add empty fields simply because a Kotlin model has a non-null property.

services

services is the required array of processes VPServ should prepare and 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 basename of command[0]An advanced override for supported-tool lookup. Most project authors can omit it and let VPServ use the service executable name.
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. The exact argument '.' resolves to the selected project folder. VPServ resolves a relative executable through its private runtime.

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. An enabled tunnel uses the named Cloudflare tunnel path: VPServ prepares cloudflared before services, then starts the configured named tunnel after the service loop and its fixed post-service wait.

FieldStatusParser defaultUse
enabledOptional with a defaultfalseTurns the configured named tunnel workflow on or off.
domainConditionally required""The public hostname for a usable enabled named tunnel. The parser accepts an empty value, but 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"
  }
}

Supported placeholders

PlaceholderSupported inMeaning
{usr}setup_commands and servicesVPServ's internal usr location
{bin}setup_commands onlyVPServ's internal binary location
{home}setup_commands and servicesThe selected project folder
.An exact argument in setup_commands and servicesThe selected project folder

For MariaDB initialization, init_scripts only processes existing project-root-relative files whose names end in .sql. VPServ uses the MariaDB client and socket path for that work; it is not a generic shell, Python, JavaScript, PostgreSQL, or Redis script runner.