This app connects to your Docker LocalStack endpoints and gives you a compact inspector for:
- SES generated emails
- CloudWatch log groups, streams, and recent events
- Secrets Manager secrets and values
- S3 buckets and object previews
npm start
Or:
node index.js
Open: http://localhost:3334
Features:
- SES email workspace with manual refresh, live refresh, search, HTML/text/raw views, attachment downloads, and new-message highlighting
- CloudWatch Logs workspace with log group selection, stream filtering, adjustable time window, adjustable event limit, live refresh, in-browser log search, log-level highlighting, wrap toggle, and optional tail-to-newest mode
- Secrets Manager workspace with live refresh, search, expandable secret metadata, lazy-loaded secret values, masked-by-default secret viewing, and quick copy actions
- S3 Explorer workspace with bucket selection, prefix filtering, object search, lazy object previews, object key/URI copy actions, and downloads
- Shared LocalStack service health strip plus a reset action for clearing saved viewer state
- Compact single-page UI for switching between the local stack tools you use most
Code layout:
index.js: small Express bootstrap and route registrationserver/config.js: LocalStack endpoints, defaults, and AWS client setupserver/localstack-service.js: SES, Logs, Secrets, and S3 data loading helpersserver/page.js: server-rendered HTML shell, CSS, and client config payloadpublic/client-app.js: browser-side UI state, rendering, refresh logic, and interactions
Optional environment variables:
PORT=3334
SES_VIEWER_ENDPOINT=http://localhost:4566/_aws/ses
SES_VIEWER_REFRESH_MS=10000
SES_VIEWER_FETCH_TIMEOUT_MS=5000
CLOUDWATCH_VIEWER_ENDPOINT=http://localhost:4566
CLOUDWATCH_VIEWER_REGION=ca-central-1
CLOUDWATCH_VIEWER_LOG_GROUP=development
CLOUDWATCH_VIEWER_WINDOW_MS=900000
CLOUDWATCH_VIEWER_LIMIT=200
SECRETS_VIEWER_ENDPOINT=http://localhost:4566
SECRETS_VIEWER_REGION=ca-central-1
S3_VIEWER_ENDPOINT=http://localhost:4566
S3_VIEWER_REGION=ca-central-1
S3_VIEWER_BUCKET=
S3_VIEWER_PREVIEW_BYTES=262144
S3_VIEWER_IMAGE_PREVIEW_BYTES=1048576