Documentation

Overview content is shown below. Use the menu to open other pages.

Quickstart & Environment

Requirements

  • Docker + Docker Compose (recommended)
  • PHP 8.2+, Composer 2.6+
  • Redis, MariaDB (provided by Docker compose)
  • Doppler (secrets) used inside the container; optional locally
  • - Horizon (queues dashboard) — https://laravel.com/docs/12.x/horizon

Local Development with Docker

1) Configure `docker.env` (copy from `docker.env.example`)

  • Set `DOPPLER_TOKEN` (or use `.env` directly for testing only).
  • Optionally set `USERID`/`GROUPID` to match your host user.
  • - Docker docs: https://docs.docker.com/

2) Start the stack

  • `task up`
  • TLS proxy: `https://dev.iec.localhost/`
  • - Taskfile docs: https://taskfile.dev/

3) Trust the local CA (once)

  • `task dev:install:certificate`

4) Enter the container

  • `task exec` (opens a Doppler-injected shell)

5) Install & bootstrap

  • `composer install`
  • `php artisan key:generate`
  • `php artisan migrate`

6) Run workers & dashboard

  • `task horizon:start` (or `php artisan horizon`)
  • Horizon: `https://dev.iec.localhost/horizon`

Without Docker

  • Configure `.env` with DB/Redis and integration credentials.
  • `composer install && php artisan key:generate && php artisan migrate`
  • Start workers: `php artisan horizon`
  • Serve app: `php artisan serve`
  • - Laravel docs: https://laravel.com/docs/12.x

Doppler

  • The container entrypoint runs `doppler run --` which injects secrets from your Doppler config using `DOPPLER_TOKEN`.
  • Keep `docker.env` out of VCS if it contains tokens. Use `.env.example` to document keys.
  • - Doppler: https://docs.doppler.com/docs

Taskfile (go-task)

  • `task up` / `task down`: bring up/down the stack
  • `task exec`: shell into app container
  • `task horizon:start`: run Horizon
  • `task webhook:product:updated`: send a sample webhook payload to the product endpoint
  • - Taskfile docs: https://taskfile.dev/

Docs Index

Current file: docs/iec/01-quickstart.md