Weave 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

Vessel Laravel Package

shipping-docker/vessel

Vessel provides a lightweight, Docker-based local development environment for Laravel applications. It replaces Homestead/Vagrant with simple containers for PHP, MySQL, Redis, and more, making setup fast and reproducible across teams.

View on GitHub
Deep Wiki
Context7

Up and running with small Docker environments

Frequently asked questions about Vessel
How do I install Vessel in a Laravel project?
You do not install Vessel with Composer. It is a versioned Docker development-environment scaffold: you copy its docker-compose.yml and per-service build context (app/php-fpm, nginx, mysql, redis) into your Laravel repository and own those files from then on. Setup is then a docker-compose build and up, not a package install.
Is shipping-docker/vessel a Composer package with a service provider?
No. There is no autoloadable namespace, no service provider, no runtime dependency, and no semver contract with your application code. Your integration surface is file templates, compose service names, published ports, volume mount paths, and environment variable names. Treat upgrades as template and image changes, not library version bumps.
Which Laravel versions does Vessel support?
Vessel is application-agnostic, so it does not declare a Laravel version constraint. Compatibility depends on whether the PHP version inside the app image satisfies the php and ext-* platform requirements in your composer.json. Check that alignment before upgrading, especially across major Vessel releases that change the base OS.
What PHP version and extensions ship in the Vessel 6.0.0 app image?
The release notes do not publish an explicit extension manifest diff, and they do not state the PHP minor/patch line. The base image moved from Ubuntu 18.04 to 20.04, which shifts PHP, the available extension set and versions (gd, imagick, intl, pdo_mysql, bcmath, zip), ICU, OpenSSL, default locale, and timezone data. Verify with php -v and php -m inside the rebuilt container before rolling out to the team.
Why did Redis stop working after upgrading Vessel to 6.0.0?
predis is no longer installed during the image init step, so it is only present if you declare it in composer.json. Applications configured with REDIS_CLIENT=predis boot fine and then fail with a class-not-found on the first cache, queue, or session access. Add predis/predis explicitly or switch the client to phpredis, and exercise a real cache write as part of verification.
How do I upgrade to Vessel 6.0.0 safely?
Read the documented upgrade and reset procedure in full before scheduling the work, then rebuild the app image, which the release notes state is mandatory. Your compose file generally stays, while the delta sits in Dockerfile base references and image contents. Diff any hand-edited nginx or PHP config first, because the Swagger static-content change touches generated config that the upgrade can overwrite.
Does Vessel support Apple Silicon and arm64 machines?
Multi-arch status is not documented in the 6.0.0 release notes, so verify that the relevant tags resolve for arm64 before rolling out. A dev environment that regresses half the team's laptops costs more than the upgrade itself. Test a clean build on at least one Apple Silicon machine and one Intel or CI runner.
Can I use Vessel in production?
No. Vessel is a development-environment artifact and must not sit in the production deployment path. If any team has quietly derived staging or CI images from these Dockerfiles, that is now production-adjacent and should be re-classified, with the 18.04 to 20.04 base jump reviewed as a production change rather than a dev convenience.
How does Vessel compare to Laravel Sail or Homestead?
Vessel replaces Homestead and Vagrant with simple containers for PHP, MySQL, Redis, and related services, aiming for fast, reproducible setup across a team. Like Sail, it is a development-environment scaffold rather than a runtime dependency, but Vessel's files are copied into and owned by your repository. That ownership is the trade-off: full control and no package coupling, but upgrade work is manual.
How should I test a Vessel upgrade before it reaches the team?
Rebuild the app image and run composer install inside the container, which is where extension and platform mismatches surface with no obvious link to the changelog. Check php -m against your composer.json ext-* pins, boot the app, and run your test suite plus a cache, queue, and session write. Also build once on a restricted or IPv6-broken network to validate the GPG key import workaround.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections