Admin panel for LocalStack SES Community. Single container serving Fastify API + React SPA.
- Verify/delete SES identities (email/domain)
- Send email via SES SendEmail
- Send raw MIME with attachments
- Inspect/delete messages via
/_aws/ses - Clean Architecture + ports/adapters
- Type-safe Zod contracts
- Dev hot reload (SSE)
docker build -t mouessam/localstack-ses-admin .
docker run -d --name localstack -p 4566:4566 -e SERVICES=ses localstack/localstack:latest
docker run -p 8080:8080 \
-e LOCALSTACK_ENDPOINT=http://host.docker.internal:4566 \
-e AWS_REGION=us-east-1 \
mouessam/localstack-ses-admindocker compose up --buildOpen http://localhost:8080.
| Variable | Default | Description |
|---|---|---|
LOCALSTACK_ENDPOINT |
http://localstack:4566 |
LocalStack endpoint |
AWS_REGION |
us-east-1 |
AWS region |
AWS_ACCESS_KEY_ID |
test |
AWS access key |
AWS_SECRET_ACCESS_KEY |
test |
AWS secret key |
PORT |
8080 |
Server port |
UI_DIST_PATH |
auto | UI static override |
GET /api/healthGET /api/identitiesPOST /api/identitiesDELETE /api/identities/:identityPOST /api/sendPOST /api/send-rawGET /api/messagesDELETE /api/messages
npm install
npm run build
npm run devOpen http://localhost:8080.
npm run lint # Lint all
npm run typecheck # TypeScript check
npm run lint:imports # Enforce workspace aliasesnpm run test # Node.js test runner + tsx
npm run test:coverage # 80% target enforced in CIdocs/architecture.md- Clean Architecture layers, data flowdocs/build-system.md- Hybrid build, workspace aliases, hot reloaddocs/import-conventions.md- Workspace alias enforcement
GitHub tags v* → multi-arch Docker Hub image.
Tags: :vX.Y.Z, :X.Y.Z, :latest
- SES v1 only (no v2)
- No SMTP/inbound email
MIT. See LICENSE.