Sign inSign up

meyron/stackdash

By meyron

Updated 7 months ago

Local Stack UI Dashboard

Buildkit cache
Image
0

696

meyron/stackdash repository overview

StackDash - LocalStack Management UI

Version License Docker

A modern, responsive web UI for managing AWS LocalStack services. StackDash provides an intuitive interface for S3, SNS, and SQS management with a beautiful gradient design and comprehensive feature support.

Quick Start

Using Docker Run

The simplest way to get started is with a single Docker command:

docker run -d \
  --name stackdash \
  -p 3100:3000 \
  -e LOCALSTACK_ENDPOINT=http://host.docker.internal:4566 \
  -e AWS_REGION=us-east-1 \
  -e AWS_ACCESS_KEY_ID=test \
  -e AWS_SECRET_ACCESS_KEY=test \
  meyron/stackdash:latest

Access the UI at: http://localhost:3100

For a complete setup with LocalStack included, create a docker-compose.yml file:

version: '3.8'

services:
  localstack:
    image: localstack/localstack:4.7.0
    container_name: localstack
    ports:
      - "4566:4566"
    environment:
      - SERVICES=s3,sqs,sns
      - DEBUG=1
      - PERSISTENCE=1
    volumes:
      - ./data/localstack:/var/lib/localstack
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - localstack-network

  stackdash:
    image: meyron/stackdash:latest
    container_name: stackdash
    ports:
      - "3100:3000"
    environment:
      - NODE_ENV=production
      - PORT=3000
      - LOCALSTACK_ENDPOINT=http://localstack:4566
      - AWS_REGION=us-east-1
      - AWS_ACCESS_KEY_ID=test
      - AWS_SECRET_ACCESS_KEY=test
    depends_on:
      - localstack
    networks:
      - localstack-network

networks:
  localstack-network:
    driver: bridge

volumes:
  localstack_data:

Then start the services:

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f stackdash

# Stop all services
docker-compose down

Configuration

Environment Variables
VariableDescriptionDefaultRequired
LOCALSTACK_ENDPOINTLocalStack endpoint URLhttp://localhost:4566Yes
AWS_REGIONAWS regionus-east-1Yes
AWS_ACCESS_KEY_IDAWS access key (use "test" for LocalStack)testYes
AWS_SECRET_ACCESS_KEYAWS secret key (use "test" for LocalStack)testYes
PORTApplication port3000No
NODE_ENVEnvironment modeproductionNo
Connecting to External LocalStack

If you have LocalStack running externally:

docker run -d \
  --name stackdash \
  -p 3100:3000 \
  -e LOCALSTACK_ENDPOINT=http://your-localstack-host:4566 \
  -e AWS_REGION=us-east-1 \
  -e AWS_ACCESS_KEY_ID=test \
  -e AWS_SECRET_ACCESS_KEY=test \
  meyron/stackdash:latest
Using Docker Network

Connect to a LocalStack container on the same Docker network:

# Create network
docker network create localstack-network

# Start LocalStack
docker run -d \
  --name localstack \
  --network localstack-network \
  -p 4566:4566 \
  -e SERVICES=s3,sqs,sns \
  localstack/localstack:4.7.0

# Start StackDash
docker run -d \
  --name stackdash \
  --network localstack-network \
  -p 3100:3000 \
  -e LOCALSTACK_ENDPOINT=http://localstack:4566 \
  -e AWS_REGION=us-east-1 \
  -e AWS_ACCESS_KEY_ID=test \
  -e AWS_SECRET_ACCESS_KEY=test \
  meyron/stackdash:latest

Features

🪣 S3 Management
  • Create, delete, and list buckets
  • Upload and download objects
  • Create and navigate folders
  • Delete objects and folders
  • View object metadata
  • Bucket versioning support
📢 SNS Management
  • Create and delete topics
  • Subscribe endpoints to topics
  • Publish messages to topics
  • View topic attributes and ARNs
  • Manage subscriptions
📬 SQS Management
  • Create and delete queues
  • Send messages to queues
  • Receive and poll messages
  • Purge queue messages
  • View queue attributes
  • Dead letter queue support
🎨 User Interface
  • Modern gradient design
  • Responsive layout
  • Real-time updates
  • Intuitive navigation
  • Error handling with user feedback

Health Check

The container includes a built-in health check that monitors the application status:

# Check container health
docker inspect --format='{{.State.Health.Status}}' stackdash

The health check endpoint: GET /api/dashboard/stats

Volumes

Persist LocalStack Data

To persist LocalStack data across container restarts:

services:
  localstack:
    volumes:
      - localstack_data:/var/lib/localstack

volumes:
  localstack_data:

Or using bind mount:

services:
  localstack:
    volumes:
      - ./data/localstack:/var/lib/localstack

Troubleshooting

Cannot Connect to LocalStack
  1. Check LocalStack is running:

    curl http://localhost:4566/_localstack/health
    
  2. Verify network connectivity:

    docker exec stackdash curl http://localstack:4566/_localstack/health
    
  3. Check environment variables:

    docker exec stackdash env | grep LOCALSTACK
    
Port Already in Use

Change the host port mapping:

docker run -d \
  --name stackdash \
  -p 8080:3000 \
  -e LOCALSTACK_ENDPOINT=http://host.docker.internal:4566 \
  meyron/stackdash:latest
View Application Logs
# Docker run
docker logs -f stackdash

# Docker Compose
docker-compose logs -f stackdash

Advanced Usage

Custom Configuration with Volume Mount

Mount a custom configuration:

docker run -d \
  --name stackdash \
  -p 3100:3000 \
  -v $(pwd)/config.json:/app/config.json \
  -e LOCALSTACK_ENDPOINT=http://host.docker.internal:4566 \
  meyron/stackdash:latest
Running with Docker Swarm
version: '3.8'

services:
  stackdash:
    image: meyron/stackdash:latest
    deploy:
      replicas: 2
      restart_policy:
        condition: on-failure
    ports:
      - "3100:3000"
    environment:
      - LOCALSTACK_ENDPOINT=http://localstack:4566
      - AWS_REGION=us-east-1
    networks:
      - localstack-network

Deploy with:

docker stack deploy -c docker-compose.yml stackdash-stack
Resource Limits

Control resource usage:

services:
  stackdash:
    image: meyron/stackdash:latest
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M

Support and Documentation

For additional support and documentation, please refer to the project documentation included with your deployment.

License

MIT License

Tags

  • latest - Latest stable release
  • 2.0.0 - Specific version
  • 2.0 - Minor version
  • 2 - Major version

System Requirements

  • Docker 20.10+
  • Docker Compose 2.0+ (for compose setup)
  • 512MB RAM minimum
  • LocalStack 4.x

Credits

Built with ❤️ for the LocalStack community.

Tag summary

Content type

Image

Digest

sha256:3d6320644

Size

74.9 MB

Last updated

7 months ago

docker pull meyron/stackdash