Download the PHP package adityarizqi/laradox without Composer

On this page you can find all versions of the php package adityarizqi/laradox. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laradox

Laradox

Tests Latest Stable Version License

Plug-and-play Docker environment for Laravel with FrankenPHP, Nginx, and Octane support

Laradox provides a production-ready Docker environment optimized for Laravel Octane with FrankenPHP. It's designed for both local development and production deployments, with automatic HTTPS support using mkcert.

Features

Performance

Comparison of performance measurements between without and with FrankenPHP under static test conditions:

Without FrankenPHP With FrankenPHP
Without FrankenPHP With FrankenPHP

Requirements

Installation

Step 1: Install via Composer

Step 2: Install Laravel Octane

Step 3: Install Laradox

This command will:

Step 4: Setup SSL Certificates

For Development (Optional):

Setup SSL certificates for trusted HTTPS:

Laradox will automatically:

Or manually:

Development: SSL is optional. You can run with HTTP only (port 80) without any certificates. Laradox will automatically use HTTP-only configuration.

For Production (Required):

SSL certificates are mandatory for production environments. The laradox:up command will refuse to start production containers without valid SSL certificates.

Windows Users: mkcert installation is not automated on Windows. Please download from mkcert releases and run manually.

WSL2 Users: Run the mkcert command on the Windows side to install certificates in your Windows trust store.

Step 5: Start Docker Containers

Laradox automatically checks for Docker and Docker Compose before starting containers.

Development:

If Docker is not installed, Laradox will:

Or using Docker Compose directly:

Production:

Step 6: Install Dependencies

Step 7: Setup Laravel

You're done! Open https://laravel.docker.localhost to view your application (or http://laravel.docker.localhost if SSL is not configured).

Usage

Artisan Commands

Laradox provides several artisan commands for managing your Docker environment:

SSL Configuration Options

The --force-ssl flag controls SSL behavior:

Helper Scripts

The helper scripts allow you to run commands inside containers without entering them:

Interactive Shell Access

Enter containers interactively for debugging, exploration, or manual operations:

Available services: php, nginx, node, scheduler, queue

Service Health & Monitoring

laradox:status reports every service declared in the compose file — including the ones that have no container yet — with its state, healthcheck result, uptime and published ports:

The command exits with code 1 when any service is missing, stopped, still starting or unhealthy, so it can gate a CI step or a deployment script:

Production Optimization

laradox:optimize runs Laravel's cache warm-up inside the container, then recycles the Octane workers so the new bootstrap cache is actually picked up:

The Composer autoloader is dumped with --classmap-authoritative, and --no-dev is added only for the production environment. Optimizing a development environment asks for confirmation first, because cached config freezes the current .env.

Deployment

laradox:deploy runs the whole release in order and stops at the first failure:

  1. git pull --ff-only
  2. maintenance mode (optional)
  3. docker compose build
  4. docker compose up -d --remove-orphans
  5. wait for every service to report healthy
  6. composer install --no-dev --optimize-autoloader
  7. npm ci && npm run build
  8. php artisan migrate --force
  9. laradox:optimize
  10. leave maintenance mode

Every step can be skipped with --no-pull, --no-build, --no-composer, --no-assets, --no-migrate and --no-optimize; starting the containers and the health gate always run. If a step fails, the application is taken back out of maintenance mode and the command prints where to look. Rolling back means checking out the previous revision and deploying again.

Note: --force is required to deploy non-interactively, so an unattended run can never apply migrations by accident.

Benchmarking

laradox:benchmark drives concurrent HTTP requests from the host and reports latency percentiles. It needs no external load-testing tool — only PHP's cURL extension:

The report covers throughput, success rate, transferred bytes, the status-code distribution and min/avg/p50/p90/p95/p99/max latency. Warm-up requests are excluded so Octane's first-request cost does not skew the percentiles.

Docker Compose Commands

For direct control over Docker:

Configuration

Nginx Configuration

Laradox automatically uses the appropriate nginx configuration based on your environment and SSL availability:

Configuration Files:

Automatic Selection:

The configuration is automatically selected and copied when you run php artisan laradox:up.

Note: You don't need to manually edit nginx configuration files. Laradox handles this automatically.

Tuning applied out of the box:

Setting Why
pcre_jit on Faster regex evaluation for location and rewrite matching
http2 on HTTP/2 via the current directive, instead of the listen ... http2 parameter deprecated in nginx 1.25.1
proxy_buffering + 8×16k buffers Frees the FrankenPHP worker as soon as the response is read, instead of holding it open for a slow client
keepalive_requests 1000 on the upstream Reuses upstream connections and spreads reconnects over time
map $http_upgrade $connection_upgrade WebSockets and Vite HMR pass through, while normal requests keep the upstream connection pool alive
server_tokens off The nginx version is not advertised in responses or error pages
ssl_buffer_size 4k Lower time-to-first-byte on TLS connections
NGINX_ENVSUBST_FILTER=LARADOX_ Template substitution only touches LARADOX_*, so nginx's own runtime variables are left alone

Gzip stays off on purpose: FrankenPHP/Caddy already compresses the response, and compressing twice only burns CPU.

Environment Variables

You can customize Laradox behavior using environment variables in your .env file:

Configuration File

Publish and customize the configuration file:

Edit config/laradox.php to customize domains, ports, SSL paths, and more.

Services

Laradox includes the following services:

PHP Image

The php service is built from docker/php/php.dockerfile — a multi-stage build where all compilation happens in a throwaway builder stage, so the runtime image only carries the shared libraries it actually needs.

Bundled extensions: bcmath, excimer, gd (with JPEG/WebP/FreeType), intl, pcntl, pdo_mysql, pdo_pgsql, redis, uv, zip, plus everything in the FrankenPHP base image (opcache, mbstring, dom, curl, sqlite3, …).

OPcache is tuned per environment: development validates timestamps so --watch reloads pick up edits, while production disables timestamp validation and enables the tracing JIT. Because production caches compiled code indefinitely, deploys need an image rebuild or php artisan octane:reload.

Build args — override in the build.args block of your compose file:

Arg Default Purpose
FRANKENPHP_VERSION 1.12 FrankenPHP base image version
PHP_VERSION 8.4 PHP version of the base image
ENVIRONMENT development Selects the development or production stage
USER_ID / GROUP_ID 1000 Host uid/gid, so bind-mounted files stay writable
SUPERCRONIC_VERSION 0.2.48 Supercronic release to download

The image is architecture-aware, so it builds on both amd64 and arm64 hosts (Apple Silicon included).

Image size — the runtime image only carries what the selected environment actually runs:

Measured on amd64 with FrankenPHP 1.12 / PHP 8.4, with an unchanged extension list:

Stage Before After
development 281 MB 212 MB (−25%)
production 281 MB 278 MB (−1%)

Check your own build with:

Scheduler Configuration

The scheduler service handles Laravel's task scheduling differently based on environment:

Development:

Production:

To modify the schedule in production, edit docker/php/config/schedule.cron:

Note: Define your actual scheduled tasks in app/Console/Kernel.php using Laravel's scheduler. The cron file only triggers Laravel's scheduler.

Customization

Custom Domain

To use a custom domain:

  1. Update the domain in config/laradox.php or .env:

  2. Generate SSL certificate:

  3. Restart the containers to apply the domain change:

  4. Add domain to your /etc/hosts file (if not using .localhost)

Note: The domain is automatically configured in Nginx using environment variables. You don't need to manually edit docker/nginx/conf.d/app.conf.

Docker Configuration

You can customize the Docker setup by modifying the published files:

Troubleshooting

Permission Issues

If you encounter permission issues, adjust the user IDs:

Rebuild the containers:

SSL Certificate Issues

Reinstall mkcert and regenerate certificates:

Port Conflicts

If ports 80/443 are already in use, change them in .env:

Then restart the containers:

Containers Already Running

Laradox automatically detects if containers are already running and offers to restart them:

Or manually stop and start:

License

Laradox is open-sourced software licensed under the MIT license.

Testing

Laradox includes a comprehensive test suite covering all functionality. All tests must pass to ensure proper operation.

Running Tests

Credits

Created by Aditya Rizqi Januarta

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


All versions of laradox with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package adityarizqi/laradox contains the following files

Loading the files please wait ...