Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

aaronshaf/dynamodb-admin

Open more actions menu

Repository files navigation

dynamodb-admin

npm

GUI for DynamoDB Local, dynalite, localstack etc.

Usage

Use as globally installed app

npm install -g dynamodb-admin

dynamodb-admin --dynamo-endpoint=http://localhost:8000

Options:

  • --open / -o - opens server URL in a default browser on start
  • --port PORT / -p PORT - Port to run on (default: 8001)
  • --host HOST / -h HOST - Host to run on (default: localhost)
  • --dynamo-endpoint - DynamoDB endpoint to connect to (default: http://localhost:8000).
  • --base-path - Base path for the application (e.g., /dynamo). Useful when running behind a reverse proxy (default: empty).
  • --skip-default-credentials - Skip setting default credentials and region. By default the accessKeyId/secretAccessKey/token are set to "key", "secret" and "token" and the region is set to "us-east-1". If you specify this argument then you need to ensure that credentials are provided some other way. See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html for more details on how default credentials provider works.

Environment variables HOST, PORT, BASE_PATH and DYNAMO_ENDPOINT can also be used to set the respective options.

If you use a local dynamodb that cares about credentials, you can configure them by using the following environment variables AWS_REGION AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY or specify the --skip-default-credentials argument and rely on the default AWS SDK credentials resolving behavior.

For example with the amazon/dynamodb-local docker image you can launch dynamodb-admin with:

AWS_REGION=eu-west-1 AWS_ACCESS_KEY_ID=local AWS_SECRET_ACCESS_KEY=local dynamodb-admin

If you are accessing your database from another piece of software, the AWS_ACCESS_KEY_ID used by that application must match the AWS_ACCESS_KEY_ID you used with dynamodb-admin if you want both to see the same data.

By default dynamodb-admin sets a default key/secret to values "key" and "secret" and the region to "us-east-1".

Running behind a reverse proxy

When running behind a reverse proxy like nginx, you can use the --base-path option to specify a custom base path:

dynamodb-admin --base-path=/dynamo

Example nginx configuration:

location /dynamo/ {
    proxy_pass http://localhost:8001/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

Use as a library in your project

This requires AWS SDK v3. If you depend on AWS SDK v2 then you need to use dynamodb-admin v4.

import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { createServer } from 'dynamodb-admin';

const dynamoDbClient = new DynamoDBClient();

const app = createServer({ dynamoDbClient });

const host = 'localhost';
const port = 8001;
const server = app.listen(port, host);
server.on('listening', () => {
  const address = server.address();
  console.log(`  listening on http://${address.address}:${address.port}`);
});

Development

Run pnpm build and then DYNAMO_ENDPOINT=http://localhost:8000 pnpm start to start dynamodb-admin.

You can set up a build watcher in a separate terminal using pnpm build:watch which will re-compile the code on change and cause the dynamodb-admin instance to restart.

See also

Screencast

Screencast

About

GUI for DynamoDB Local or dynalite

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.