Skip to content

Refactor installation process and enhance Docker support#10

Merged
roble merged 5 commits into
mainfrom
dev
Jun 25, 2026
Merged

Refactor installation process and enhance Docker support#10
roble merged 5 commits into
mainfrom
dev

Conversation

@roble

@roble roble commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

This pull request makes significant improvements to the Saucebase installer, focusing on more robust and granular Docker and module installation flows, improved documentation, and compatibility updates for Laravel 13. The most important changes include a complete rewrite of the Docker driver to run all install steps explicitly (not via nested container calls), a new per-module patch/migrate/seed flow, and enhanced documentation for both users and contributors.

Installer and Module Installation Flow Improvements:

  • The Docker driver (DockerEnvironment) now runs each install step explicitly: SSL prompt and generation, Docker startup, Composer install, artisan key generation, migrations, frontend stack setup, per-module install (require, patch, migrate, seed), storage link creation, and cache clearing. This replaces the previous approach of re-invoking the installer inside the container. (src/Environments/DockerEnvironment.php) [1] [2]
  • Module installation now applies patches and runs migrations and seeds for each module individually, both for native and Docker flows. The new applyModulePatches() method applies any .patch files shipped by modules, skipping already-applied patches and reporting failures. (src/Console/Commands/InstallCommand.php) [1] [2]

Documentation and User Guidance:

  • The README.md and CLAUDE.md have been significantly updated to document the new Docker and native flows, prerequisites, options, and the detailed step-by-step process for both drivers. Examples and option descriptions have been clarified and expanded. (README.md, CLAUDE.md) [1] [2] [3] [4] [5] [6]

Laravel 13 Compatibility:

  • The minimum Laravel version has been bumped to 13.x for all illuminate/* dependencies in composer.json. (composer.json)

Testing and Internal API Changes:

  • The test coverage for the Docker environment has been expanded to cover module resolution, Docker env patching, SSL handling, and prerequisites. (CLAUDE.md)
  • Several methods on InstallCommand have been made public to support use from environments and tests, including filterModulesByFramework() and fetchAvailableModules(). (src/Console/Commands/InstallCommand.php) [1] [2]

Minor Improvements:

  • The post-install success message now always shows the correct dev server command based on the selected driver. (src/Console/Commands/InstallCommand.php)
  • Updated badges in README.md to show PHP, Laravel, and package versions. (README.md)

These changes make the installer more robust, modular, and easier to understand and maintain, especially for Docker-based development.

@roble roble merged commit d81d838 into main Jun 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant