The PHP preset provides a full PHP development environment with nginx, PHP-FPM, and Composer pre-installed.Documentation Index
Fetch the complete documentation index at: https://docs.instapods.com/llms.txt
Use this file to discover all available pages before exploring further.
Available Versions
| Version | Status |
|---|---|
| PHP 8.2 | Supported |
| PHP 8.3 | Default |
| PHP 8.4 | Latest |
What’s Included
| Component | Version | Details |
|---|---|---|
| nginx | Latest (Ubuntu 24.04) | Web server, proxies to PHP-FPM |
| PHP-FPM | 8.2, 8.3, or 8.4 (your choice) | FastCGI process manager |
| Composer | Latest | PHP dependency manager (global) |
| git | Latest | Version control |
| SSH | OpenSSH | Access via dedicated port |
Directory Structure
- App Root:
/home/instapod/app - Public Root:
/home/instapod/app/public - Port: 80 (nginx)
- PHP-FPM socket:
/run/php/php8.3-fpm.sock
Deploying Your App
Upload Files
Install Dependencies
Reload Services
After deploying or updating your code:Routing
The nginx config includestry_files $uri $uri/ /index.php?$query_string, which means all requests that don’t match a file are forwarded to index.php. This works out of the box for:
- Laravel — all routes handled by
public/index.php - Custom routers — write your own front controller in
public/index.php
File Permissions
PHP-FPM runs as thewww-data user. Files uploaded via the CLI or IDE are owned by root. If your PHP app needs to write to data directories (file uploads, JSON storage, cache), you must fix permissions:
storage and bootstrap/cache:
Adding a Database
PHP apps commonly need a database. Install one with:Database services require the Build plan or higher.
Use Cases
- Laravel applications
- Custom PHP APIs and REST services
- Content management systems
- PHP microservices