Documentation menu

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.

Abotlogixfile.json
{
  "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].

Abotlogixfile.json
{
  "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.

A complete project with optional preparation
{
  "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"
      ]
    }
  ]
}
CorrectIncorrect
["python3.13", "-m", "pip", "install"]["python3.13 -m pip install"]
The service process lives in servicesA 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.