Download the PHP package reedware/sail-lite without Composer
On this page you can find all versions of the php package reedware/sail-lite. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package sail-lite
Sail Lite
Table of Contents
- Introduction
- Sail Lite vs Docker Compose
- Sail Lite vs Laravel Sail
- Installation and Setup
- Installing into Existing PHP Environments
- Installing into New PHP Environments
- Configuring a Shell Alias
- Rebuilding Images
- Starting and Stopping
- Executing Commands
- PHP Versions
- Customization
Introduction
Sail Lite is a light-weight command-line interface for interacting a baseline Docker environment for package development. Sail Lite was inspired by Laravel Sail, which offers a richer experience for Laravel development. Sail Lite is intended to be a lighter-weight alternative to Laravel Sail, targeting package development, and isn't specific to Laravel development.
At its heart, Sail Lite is the docker-compose.yml file and the sail script that is stored at the root of your project. The sail script provides a CLI with convenient methods for interacting with the Docker containers defined by the docker-compose.yml file.
Sail Lite is supported on macOS, Linux, and Windows (via WSL2).
Sail Lite vs Docker Compose
Under the hood, Sail Lite is just Docker.
However, Sail Lite is pre-configured for PHP package development, and offers a sail binary with commands that are easier to work with.
| Sail Lite | Docker Compose |
|---|---|
sail up |
docker compose up |
sail down |
docker compose down |
sail build |
docker compose build |
sail bash |
docker compose exec -u sail dev bash |
Sail Lite vs Laravel Sail
Sail Lite is intended for PHP package development, where as Laravel Sail targets the general Laravel developer experience.
If you intend to build Laravel applications, you should use Laravel Sail.
Sail Lite installs far fewer container dependencies than Laravel Sail (35 and counting), in that there's no database, cache, or node.js support.
Laravel Sail also requires several Illuminate and Symfony libraries, whereas Sail Lite has no package dependencies.
| Sail Lite | Laravel Sail |
|---|---|
Installation and Setup
Installing into Existing PHP Environments
If you are interested in using Sail Lite with an existing PHP package, you may simply install Sail Lite using the Composer package manager. Of course, these steps assume that your existing local development environment allows you to install Composer dependencies:
After Sail Lite has been installed, you may run the install command. This command will publish the docker-compose.yml file to the root of your application.
Finally, you may start Sail Lite.
Installing into New PHP Environments
If you don't want to install PHP or Composer locally, you can install the sail binary and install your Composer dependencies from inside the new container:
Configuring a Shell Alias
By default, Sail Lite commands are invoked using the vendor/bin/sail script:
However, instead of repeatedly typing vendor/bin/sail to execute Sail Lite commands, you may wish to configure a shell alias that allows you to execute Sail's commands more easily:
To make sure this is always available, you may add this to your shell configuration file in your home directory, such as ~/.zshrc or ~/.bashrc, and then restart your shell.
Once the shell alias has been configured, you may execute Sail Lite commands by simply typing sail. The remainder of this documentation's examples will assume that you have configured this alias:
Rebuilding Images
Sometimes you may want to completely rebuild your Sail Lite images to ensure all of the image's packages and software are up to date. You may accomplish this using the build command:
Starting and Stopping
Sail Lite's docker-compose.yml file defines a single development container to help you build PHP packages.
To start the development container, you should execute the up command:
To start the development container in the background, you may start Sail Lite in "detached" mode:
To stop the development container, you may simply press Control + C to stop the container's execution. Or, if the container is running in the background, you may use the stop command:
Executing Commands
When using Site Lite, you package is executing within a Docker container, and is isolated from your local computer.
You may use the shell command to connect to your development container, allowing you to execute arbitrary shell commands within the container.
PHP Versions
By default, Sail Lite uses the latest version of PHP. However, this can be changed in your docker-compose.yml file:
You can either override the PHP arg directly, its default value, or specify a PHP_VERSION setting in your .env file.
After updating your package's docker-compose.yml file, you should rebuild your container image
Customization
Since Sail Lite is just Docker, you are free to customize nearly everything about it. To publish Sail Lite's own Dockerfiles, you may execute the publish command:
After running this command, the Dockerfiles and other configuration files used by Sail Lite will be placed within a docker directory in your package's root directory. After customizing your Sail Lite installation, you may wish to change the image name for the development container in your package's docker-compose.yml file. After doing so, rebuild your development container using the build command. Assigning a unique name to the application image is particularly important if you are using Sail Lite to develop multiple PHP packages on a single machine: