Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sail Lite Laravel Package

reedware/sail-lite

Sail Lite is a lightweight CLI for PHP package development using a baseline Docker environment. It ships a docker-compose.yml and a sail script that wrap common Docker Compose tasks (up, down, build, exec), inspired by Laravel Sail but framework-agnostic.

View on GitHub
Deep Wiki
Context7

Docker files for basic PHP package development

Frequently asked questions about Sail Lite
Can I use Sail Lite for a Laravel package that doesn’t need a database?
Yes, Sail Lite is perfect for Laravel packages without database dependencies. It provides a minimal PHP-only Docker environment, eliminating the need for Laravel Sail’s heavier setup. Just run `composer require reedware/sail-lite --dev` and use the `sail` commands to manage your container.
How do I install Sail Lite in an existing PHP project?
Run `composer require reedware/sail-lite --dev` in your project root. This adds the `sail` script and `docker-compose.yml` to your project. Ensure Docker is installed on your system, then run `sail install` to set up the environment. No manual Dockerfile tweaks are needed for basic use.
Does Sail Lite support PHP 8.2 or 8.3 for my Laravel package?
Yes, Sail Lite supports PHP 7.2 through 8.5. To use a specific version, set the `PHP_VERSION` in your `.env` file (e.g., `PHP_VERSION=8.3`). This ensures consistency between local development and CI environments without modifying the Dockerfile.
Will Sail Lite work on Windows without WSL2?
No, Sail Lite requires Docker with WSL2 on Windows. Without WSL2, Docker’s performance and compatibility may degrade, making the setup unreliable. If your team avoids WSL2, consider alternatives like Laravel Valet or manual Docker Compose configurations.
How do I customize the PHP extensions in Sail Lite for my package?
Use `sail publish` to expose the Dockerfile and modify it to include custom extensions (e.g., `RUN docker-php-ext-install pdo_pgsql`). After publishing, rebuild the image with `sail build`. This approach keeps customizations version-controlled in your project.
Is Sail Lite suitable for a Symfony bundle instead of a Laravel package?
Absolutely. Sail Lite is framework-agnostic and works for any PHP project, including Symfony bundles. It avoids Laravel-specific dependencies, making it ideal for standalone PHP libraries or non-Laravel ecosystems. Just install it via Composer and use the `sail` commands.
How do I integrate Sail Lite with GitHub Actions for CI/CD?
Add a step to your GitHub Actions workflow to install Sail Lite and start the container. Example: `composer require reedware/sail-lite --dev && sail up -d`. Use `sail exec` to run tests or scripts inside the container. Ensure your workflow has Docker pre-installed or configured.
What’s the difference between Sail Lite and Laravel Sail?
Sail Lite is a minimal, framework-agnostic Docker wrapper for PHP packages, while Laravel Sail includes Laravel-specific services (e.g., queues, databases) and dependencies. Sail Lite avoids bloat, making it lighter and faster for projects without Laravel’s full stack.
Can I use Sail Lite for a package that requires Node.js or Redis?
No, Sail Lite is designed for PHP-only environments. If your package needs Node.js, Redis, or databases, use Laravel Sail or a custom `docker-compose.yml`. Sail Lite lacks built-in support for multi-container setups, but you can extend it manually if needed.
How do I troubleshoot ‘sail up’ failing on my first run?
Check Docker is running (`docker --version`) and your user has permissions. Verify the `.env` file exists (Sail Lite creates a default one). If using WSL2, ensure Docker Desktop is configured for integration. Run `sail down` first if containers are stuck, then retry `sail up`.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky