This project ships two separate Compose stacks. They are NOT layered; each runs on its own.
php artisan boost:add-skill technicpack/solder
Save this content to: .cursor/rules/docker.md
# Docker
This project ships two separate Compose stacks. They are NOT layered; each runs on its own.
- Development: `compose.dev.yml` (PostgreSQL). The standalone stack for all local work.
- Production: `compose.yml` (MariaDB). The shipped self-host stack; not for development.
## Development workflow
- Start: `docker compose -f compose.dev.yml up -d`
- Stop: `docker compose -f compose.dev.yml down`
- Run commands: `docker compose -f compose.dev.yml exec -T solder <cmd>` works once the stack is up.
## Never do this
- Never run `docker compose up` with no `-f`. That starts the production MariaDB stack.
- Never merge the two files (`-f compose.yml -f compose.dev.yml`). The merge pulls MariaDB and
the production env-injection block into dev, which: crashes the app (pgsql driver hitting
MariaDB), runs two databases at once, and breaks test isolation (tests hit PostgreSQL instead
of stock sqlite; CSRF and config defaults misbehave).
- The dev `solder` service injects no env vars by design; it reads the mounted `.env`, and tests
use stock `phpunit.xml` plus `.env.testing` (sqlite). Do not add an `environment:` block to it.
This project ships two separate Compose stacks. They are NOT layered; each runs on its own.
compose.dev.yml (PostgreSQL). The standalone stack for all local work.compose.yml (MariaDB). The shipped self-host stack; not for development.docker compose -f compose.dev.yml up -ddocker compose -f compose.dev.yml downdocker compose -f compose.dev.yml exec -T solder <cmd> works once the stack is up.docker compose up with no -f. That starts the production MariaDB stack.-f compose.yml -f compose.dev.yml). The merge pulls MariaDB and
the production env-injection block into dev, which: crashes the app (pgsql driver hitting
MariaDB), runs two databases at once, and breaks test isolation (tests hit PostgreSQL instead
of stock sqlite; CSRF and config defaults misbehave).solder service injects no env vars by design; it reads the mounted .env, and tests
use stock phpunit.xml plus .env.testing (sqlite). Do not add an environment: block to it.How can I help you explore Laravel packages today?