Skip to content

Local Development

Griffen Fargo edited this page Apr 10, 2026 · 1 revision

Local Development

strut supports local stack management for development, including environment sync and database sync from production.

Commands

strut my-stack local start [--services <profile>]     # Start stack locally
strut my-stack local stop                              # Stop local stack
strut my-stack local reset                             # Reset local environment
strut my-stack local sync-env --from prod              # Sync env vars from production
strut my-stack local sync-db --from prod [--anonymize] # Sync database from production
strut my-stack local logs [--follow]                   # Tail local logs
strut my-stack local test                              # Run local smoke tests

Getting Started

1. Set Up Local Environment

# Copy env template
cp stacks/my-stack/.env.template .local.env
nano .local.env   # Fill in local values

2. Start Locally

strut my-stack local start

This uses docker-compose.dev.yml (or docker-compose.local.yml) for local overrides like volume mounts, debug ports, and hot-reload.

3. Sync from Production

# Sync environment variables (sanitized)
strut my-stack local sync-env --from prod

# Sync database
strut my-stack local sync-db --from prod

# Sync database with anonymization
strut my-stack local sync-db --from prod --anonymize

Service Profiles

strut my-stack local start                            # Core services
strut my-stack local start --services full             # All services
strut my-stack local start --services messaging        # Core + messaging

Debugging Local Containers

strut my-stack local debug shell my-service
strut my-stack local debug exec my-service "npm run test"
strut my-stack local debug inspect-env my-service
strut my-stack local debug stats my-service

Reset

strut my-stack local reset

Stops containers, removes volumes, and cleans up the local environment for a fresh start.

Clone this wiki locally