Skip to content

System requirements ​

Forkiva is a modular Laravel application with an integrated Vue 3 interface. PHP and JavaScript dependencies are installed from the same application root, and production runs as one application.

Required runtime ​

ComponentRequirement
PHPPHP 8.4 for the current browser installer. composer.json accepts PHP 8.2+, but PHP 8.4 is the supported installation target.
DatabaseMySQL 8.x is the current deployment target. Validate all enabled modules before using another engine.
Web serverNginx or Apache with the document root set to <application>/public.
ComposerComposer 2.x.
Node.js^20.19.0 or >=22.12.0, as enforced by package.json.
Package managerYarn Classic 1.22.22, using the committed yarn.lock.
Browser automationPuppeteer and its compatible Chrome runtime for PDF and receipt rendering.

Use the exact manifests and lockfiles shipped with the release as the dependency source of truth.

PHP extensions ​

The application and its Composer dependencies require the normal Laravel extensions plus the extensions declared by the project:

  • BCMath
  • Ctype
  • cURL
  • DOM and XML
  • Fileinfo
  • Filter
  • GD
  • Hash
  • Iconv
  • Intl
  • Mbstring
  • OpenSSL
  • PCNTL
  • PCRE
  • PDO with the selected database driver
  • Session
  • Tokenizer
  • ZIP

The browser installer checks a runtime subset before database setup; Composer remains authoritative for package requirements. Confirm that the CLI and web-server PHP processes use the same PHP version and configuration.

Filesystem and web server ​

  • The web-server user must be able to write to .env, storage/, and bootstrap/cache/ during installation.
  • In production, restrict .env after installation while retaining the access required by the deployment process.
  • The domain document root must be the application's public/ directory. Never expose the application root, .env, vendor/, storage/, or module source files as public downloads.
  • Enable URL rewriting or the equivalent front-controller rule for public/index.php.
  • Use HTTPS in production.

Application services ​

Configure the services used by the enabled modules:

  • A persistent cache store; Redis is recommended for multi-server deployments.
  • Managed queue workers for asynchronous jobs.
  • One scheduler invocation every minute.
  • SMTP or another production mail transport.
  • Local/public storage or the configured S3 disks.
  • Valid Firebase, OneSignal, or other integration credentials only when those integrations are enabled.

The default .env.example is intended for local setup and does not by itself represent a production configuration.

Integrated web build ​

The application root contains one package.json, one yarn.lock, and one node_modules/. Its current web stack includes Vue 3.5, Vuetify 3.11, Pinia 3, Vue Router 4, TypeScript 5.9, Vite 7, and Puppeteer 25.

The Vue source is located in:

  • resources/js/ for shared application code;
  • Modules/<Module>/resources/assets/js/ for feature-owned web code.

Vite writes production assets to public/build/. Node/Vite does not serve the production website; Laravel serves the Vue shell and API from the same origin.

Production checklist ​

  • PHP 8.4 and all required extensions are enabled for both CLI and the web server.
  • The selected database version has passed a clean migration and upgrade rehearsal.
  • Composer and Yarn installs use the committed lockfiles.
  • Every enabled module is included before installing or building.
  • yarn check:modules, tests, lint, formatting checks, and yarn build pass.
  • The complete PHP test suite and required MySQL-specific suites pass.
  • APP_ENV=production, APP_DEBUG=false, and APP_URL uses the public HTTPS origin.
  • Database, cache, queue, session, mail, filesystem, and integration settings are production values.
  • The web root is public/; writable paths and private files have safe permissions.
  • Queue workers, scheduler, log rotation, monitoring, backups, and restore procedures are active.
  • Laravel code and public/build/ are deployed as one tested release.

See Installing Forkiva for developers for the complete setup flow.

Tenvoro