dynamodb-dashboard
v1.25.6
Published
GUI Dashboard for local or remote DynamoDB
Maintainers
Readme
DynamoDB Dashboard
A Web GUI Dashboard for local or remote DynamoDB.
Installation:
Install application globally:
npm install --global dynamodb-dashboardStart dynamodb-dashboard instance:
dynamodb-dashboard startOptions
-d, --debug: show log output of running application (default: false)-p, --port <port>: port to run app (default: 4567)-h, --host <host>: host to run app (default: 127.0.0.1)
Setting Environment variables
Currently, following environment variables are supported:
AWS_REGIONAWS_ENDPOINTAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN
To configure, set the AWS environment variables in the terminal session before launching dynamodb-dashboard, example in .bashrc file.
AWS Credentials Resolution
The application uses the AWS SDK for JavaScript (v2), which supports multiple ways to load credentials automatically through the default credential provider chain.
- Explicit environment variables
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN(optional)
These take highest priority if provided.
~/.aws/credentials- AWS SSO sessions
- EC2/ECS instance metadata
- Other AWS SDK-supported sources
Set environment variables and start dynamodb-dashboard instance:
export AWS_REGION=us-west-2
export AWS_ENDPOINT=http://localhost:8000
export AWS_ACCESS_KEY_ID=fakeAccessKeyId
export AWS_SECRET_ACCESS_KEY=fakeSecretAccessKey
dynamodb-dashboard startDevelopment Setup
OR
git clone https://github.com/kritish-dhaubanjar/dynamodb-dashboard.gitcd dynamodb-dashboardmake watch
Docker
Run a container (from Docker Hub)
docker pull kritishdhaubanjar/dynamodb-dashboard:latestdocker run \ --name dynamodb-dashboard \ -p 8080:4567 \ -e AWS_REGION=us-west-2 \ -e AWS_ENDPOINT=http://host.docker.internal:8000 \ -e AWS_ACCESS_KEY_ID=fakeAccessKeyId \ -e AWS_SECRET_ACCESS_KEY=fakeSecretAccessKey \ kritishdhaubanjar/dynamodb-dashboard:latest
NGINX Config
To configure Nginx to serve dynamodb-dashboard with (EventSource (Server-Sent Events or SSE) event stream), you need to ensure Nginx is correctly set up to handle long-lived HTTP connections and provide appropriate headers. Here's a basic example configuration:
server
{
listen 80;
listen [::]:80;
server_name _;
proxy_read_timeout 1d;
proxy_send_timeout 1d;
proxy_connect_timeout 1d;
location /
{
proxy_pass http://localhost:4567;
}
location /dynamodb/api/database/stream/
{
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding off;
add_header Content-Type text/event-stream;
add_header Cache-Control no-cache;
add_header Connection keep-alive;
proxy_pass http://localhost:4567;
}
}Preview:


Demo:
https://user-images.githubusercontent.com/25634165/192109458-a621bc06-788d-4d54-9dc2-9064380ee837.mp4
Contributors ✨
Thanks goes to these wonderful people:
License
Distributed under the MIT License. See LICENSE for more information.
