https://github.com/haydenk/laravel-poly-stack
Devcontainer scaffold for Laravel development with interchangeable MySQL, PostgreSQL, and SQLite drivers plus Redis — no app included, just the environment.
https://github.com/haydenk/laravel-poly-stack
devcontainer docker docker-compose laravel mise mysql php postgresql redis sqlite
Last synced: about 5 hours ago
JSON representation
Devcontainer scaffold for Laravel development with interchangeable MySQL, PostgreSQL, and SQLite drivers plus Redis — no app included, just the environment.
- Host: GitHub
- URL: https://github.com/haydenk/laravel-poly-stack
- Owner: haydenk
- License: agpl-3.0
- Created: 2026-04-10T01:09:14.000Z (3 months ago)
- Default Branch: develop
- Last Pushed: 2026-07-02T18:03:35.000Z (3 days ago)
- Last Synced: 2026-07-02T20:06:36.838Z (3 days ago)
- Topics: devcontainer, docker, docker-compose, laravel, mise, mysql, php, postgresql, redis, sqlite
- Language: Blade
- Homepage:
- Size: 345 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# laravel-poly-stack
A devcontainer scaffold for Laravel 13 / PHP 8.5 development with MySQL, PostgreSQL, and SQLite as interchangeable database drivers, plus Redis for caching and queuing.
## What's Included
| Service | Version | Address |
|---|---|---|
| PHP | 8.5 | — |
| MySQL | 8.4 (LTS) | `127.0.0.1:3306` |
| PostgreSQL | 18 | `127.0.0.1:5432` |
| Redis | 8 (alpine) | `127.0.0.1:6379` |
| Mailpit | latest | SMTP `127.0.0.1:1025` · Web UI `localhost:8025` |
| Caddy | latest (via mise) | serves the app on `localhost:8000` |
All services share the app container's network namespace, so they are reachable at `127.0.0.1` on their default ports — no hostname resolution needed.
## Quick Start
Open the repo in VS Code or a JetBrains IDE with the Dev Containers extension (or GitHub Codespaces) and reopen in container, then:
```bash
mise setup # install Composer + bun dependencies
cp .env.sqlite.example .env # or .env.mysql.example / .env.pgsql.example
touch database/database.sqlite # SQLite only
php artisan key:generate
php artisan migrate
mise dev # caddy + php-fpm + queue + scheduler → http://localhost:8000
```
Run `bun run dev` separately for Vite hot-reload. This project uses `bun`, not `npm`.
## Documentation
Full documentation lives in [`docs/`](docs/README.md):
- [Getting Started](docs/getting-started.md) — the quick start above, in detail
- [Devcontainer Architecture](docs/devcontainer.md) — containers, networking, PHP extensions, Codespaces
- [Databases](docs/databases.md) — choosing and switching drivers, credentials
- [mise](docs/mise.md) — toolchain and the full task reference (`mise dev`, `mise test`, `mise quality`, …)
- [Code Quality](docs/code-quality.md) — Pint, PHPStan (level 8), Rector, Pest
- [Dagger CI](docs/dagger.md) — the containerized quality suite (`mise ci`)
## License
Licensed under the [GNU Affero General Public License v3.0](LICENSE) (AGPL-3.0).