Reference · Beta
Abotlogixfile.json field reference
The public snake_case fields VPServ supports, with practical requirements for prepared projects.
Root fields
| Field | Status | Parser default | Use |
|---|---|---|---|
project_name | Optional | Project or folder name | A readable name for the prepared project. When it is omitted, VPServ uses the available project or folder name. |
app_url | Optional with a default | http://127.0.0.1:8000 | The project URL VPServ can present for opening. It does not change a service command or configure a tunnel port. |
services | Optional | [] | The array of long-running processes VPServ should start. Omit it when a project does not need a service. |
setup_commands | Optional with a default | [] | One-time command argument arrays that run before services. Omit this field when no preparation is needed. |
tunnel | Optional | Absent / no tunnel | Named 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.
| Field | Status | Parser default | Use |
|---|---|---|---|
name | Required | None | A readable service label used to identify the configured process. |
command | Required | None | A required argument array. For a working service, put the executable first, followed by one argument per array item. |
delay_after_start_ms | Optional with a default | 0 | A fixed pause in milliseconds after the service launch step. It is not a service health check. |
init_scripts | Optional with a default | [] | Existing project-root-relative .sql files for the MariaDB initialization path. Omit it when no SQL initialization is needed. |
tool_id | Optional with a default | The first item in command | An optional explicit tool name. Most project authors can omit it and let VPServ use the first item in the service command. |
{
"name": "php_server",
"command": [
"php",
"-S",
"0.0.0.0:8000",
"-t",
"."
]
}| Correct | Incorrect |
|---|---|
| One executable and one array item per argument | One 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.
{
"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.
| Field | Status | Parser default | Use |
|---|---|---|---|
enabled | Optional with a default | false | Turns the configured named tunnel workflow on or off. |
domain | Conditionally required | "" | The public hostname for an enabled named tunnel. An enabled tunnel needs a configured hostname. |
token | Conditionally required | "" | The named tunnel credential for a usable enabled tunnel. Never commit a real token. |
{
"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.