loomsoftware / loom-spinner
A simple command-line Docker environment spinner for PHP.
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/loomsoftware/loom-spinner
Requires
- ext-sockets: *
- symfony/console: ^7.2
- symfony/yaml: ^7.2
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- loomsoftware/badger: ^1.0
- phpstan/phpstan: ^2.1
README
Loom Spinner is a streamlined environment management tool for PHP developers.
It makes launching minimal, pre-configured Docker containers effortless, providing a fast, consistent, and hassle-free workflow for your projects.
Run simple commands from anywhere on your system to manage your environments.
This project is built for Linux and has not been fully tested on Windows or MacOS. Full Windows/MacOS support is planned for a future release.
At a Glance
Effortlessly create custom Docker environments for each of your PHP projects. Out of the box, Loom Spinner provides:
- PHP 8.4 (with XDebug & OpCache)
- Nginx
- MySQL 9.3
- NodeJS 23 (Node, NPM, & NPX)
Your project directory is automatically mounted into the PHP container, and the public directory is served via Nginx at:
https://{project-name}.app
You can access the container directly from your terminal to run tests or other commands in an isolated environment.
Installation
Requirements:
- Composer
- Docker Desktop or Docker Engine
To install globally, run:
composer global require cloudbase/loom-spinner
Optional HTTPS/SSL Support
For prettified
https://{project-name}.appURLs, installmkcertbefore using Loom Spinner.
Linux example:
sudo apt install mkcert libnss3-tools mkcert -install
Quick Start
Spin up your project and add the hosts entry in a single sequence:
cd /path/to/my-project loom spin:up my-project . sudo loom env:hosts:add my-project
✅ This will create the Docker containers (PHP, Nginx, MySQL) and ensure your system can resolve http://my-project.app for clean URLs.
Usage
Launch a new environment:
loom spin:up my-project /path/to/my-project
Or from the project directory:
cd /path/to/my-project loom spin:up my-project .
Hosts Entry
To access your project via the browser, add an entry to /etc/hosts:
sudo loom env:hosts:add my-project
Database Credentials
Your default database credentials are:
| Username | Password |
|---|---|
| root | docker |
To see which port your database container is using, run:
loom env:list
You can customise your credentials, see the Configuration section of the documentation for more details.
Managing Your Environment
| Action | Command |
|---|---|
| Stop containers | loom spin:stop my-project |
| Start containers | loom spin:start my-project |
| Attach to PHP container | loom spin:attach my-project |
| Destroy environment | loom spin:down my-project |
| List all environments | loom env:list |
Loom Spinner can be further customized with a set of simple configuration options. For more detailed usage instructions, please consult the documentation.
Happy spinning! 🧵