1.5.2 Install Host App

Orbnetes deployment and release orchestration documentation for operators and platform teams.

This page describes a host-based installation using Laravel source code for teams who want full app-level control.

Prerequisites

  • PHP 8.2+, Composer, Node.js (if frontend assets are rebuilt), and MySQL/MariaDB.
  • Web server (Nginx/Apache) or local PHP server for development.

Install Steps

  1. Clone repository and enter project directory.
  2. Create environment file from template:
    cp .env.example .env
  3. Install dependencies:
    composer install
  4. Generate application key:
    php artisan key:generate
  5. Configure DB in .env:
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=orbnetes
    DB_USERNAME=orbnetes
    DB_PASSWORD=secret
  6. Run migrations:
    php artisan migrate
  7. Start app:
    php artisan serve --host=0.0.0.0 --port=8080

Production Notes

  • Use queue worker and scheduler if enabled by your setup.
  • Set proper cache/session/queue drivers for production.
  • Run behind HTTPS reverse proxy with real domain URL in app config.

Nginx / Long Polling Config

For agent long polling, keep these nginx and upstream settings in place:

  • Increase PHP-FPM timeouts:
    • fastcgi_read_timeout 120s;
    • fastcgi_send_timeout 120s;
    • send_timeout 120s;
  • Disable buffering for poll/stream endpoints:
    • fastcgi_buffering off;
    • If proxied upstream: proxy_buffering off;
  • Do not apply aggressive rate limit on agent API (to avoid 429 polling flaps).
  • Allow upload/update body size:
    • client_max_body_size 512m; (or your required size)
  • If Cloudflare proxy is enabled, keep long-poll below CF request duration limits (typically around 100s), or bypass API from proxy limits.
  • For multi-instance portal setup, keep long-poll stateless and use shared DB/Redis across nodes.

Example for location ~ \.php$:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;

    fastcgi_read_timeout 120s;
    fastcgi_send_timeout 120s;
    fastcgi_buffering off;
    send_timeout 120s;
}