Examples · Beta
Abotlogixfile.json examples
Minimal, source-verified recipe shapes that use only parser-supported public fields and safe placeholder credentials.
Minimal PHP project
This project needs one PHP service. It omits optional setup_commands, tunnel, delay_after_start_ms, and init_scripts; the parser supplies the optional defaults.
{
"project_name": "My PHP App",
"services": [
{
"name": "php_server",
"command": [
"php",
"-S",
"0.0.0.0:8000",
"-t",
"."
]
}
]
}PHP and MariaDB with an optional named tunnel
This example places MariaDB before PHP, uses a fixed pause for the database service, and supplies an SQL file through the supported MariaDB initialization path. It deliberately omits tool_id: VPServ derives each required supported-tool lookup from command[0].
{
"project_name": "My Custom PHP App",
"tunnel": {
"enabled": true,
"domain": "app.example.com",
"token": "YOUR_CLOUDFLARE_TUNNEL_TOKEN"
},
"services": [
{
"name": "mariadb_server",
"command": [
"mariadbd",
"--basedir={usr}",
"--datadir={usr}/var/lib/mysql",
"--skip-grant-tables"
],
"delay_after_start_ms": 3000,
"init_scripts": [
"setup_database.sql"
]
},
{
"name": "php_server",
"command": [
"php",
"-S",
"0.0.0.0:8000",
"-t",
"."
]
}
]
}Optional setup command
Add setup_commands only when the project needs one-time preparation before its services begin. Every command is an array; the executable is first and every argument is separate.
{
"project_name": "My Python App",
"setup_commands": [
[
"python3.13",
"-m",
"pip",
"install",
"-r",
"{home}/requirements.txt"
]
],
"services": [
{
"name": "application_server",
"command": [
"python3.13",
"{home}/app.py"
]
}
]
}| Correct | Incorrect |
|---|---|
| ["python3.13", "-m", "pip", "install"] | ["python3.13 -m pip install"] |
| The service process lives in services | A long-running server is placed in setup_commands |
Keep manifests minimal
- Use project_name when a project needs a readable recipe name; otherwise VPServ uses its supplied project title.
- Omit setup_commands when there is no preparation step.
- Omit delay_after_start_ms when no fixed pause is needed; its parser default is 0.
- Omit init_scripts when the service does not need existing MariaDB .sql files; its parser default is an empty list.
- Omit tunnel for a local-only project.