Skip to main content

Develop stack

The develop stack is docker-compose.yml at the monorepo root — the default compose file. It runs php-fpm + nginx + MySQL + Redis with the backend source bind-mounted from apps/backend (no host PHP required), plus the admin and storefront dev servers behind the frontend profile.

cp .env.example .env
docker compose up -d

First-time Laravel setup (composer install, key generation, migrations) runs automatically on boot.

Services

ServiceImagePortNotes
appbaxela/backend:developphp-fpm; backend source bind-mounted
webnginx:stable-bookworm8085Serves the API; health-checked via /up
adminbaxela/admin:develop5173Vite dev server (frontend profile)
storefrontbaxela/storefront:develop3000Next.js dev server (frontend profile)
mysqlmysql:8-debian3308Database with healthcheck
redisredis:7-bookworm6378Cache/queues with healthcheck
mailaxllent/mailpit8025Catch-all mail UI (mail profile)

Profiles

  • frontend (on by default via COMPOSE_PROFILES in .env.example) — starts the admin and storefront dev servers. Set COMPOSE_PROFILES= (empty) for a backend-only stack.
  • mail — starts Mailpit so every outgoing email is catchable at http://localhost:8025.

Backend-only mode

Handy when working on the API without the frontends:

COMPOSE_PROFILES= docker compose up -d

Health

The nginx service healthcheck curls /up, which passes through php-fpm into Laravel — a healthy web service means the whole request path works.

All host ports are overridable through the root .env (see Configuration).