GUI for DynamoDB Local or dynalite
5M+
GUI for DynamoDB Local, dynalite, localstack etc.
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".
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;
}
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}`);
});
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.

Content type
Image
Digest
sha256:ac41724cd…
Size
94.2 MB
Last updated
4 months ago
docker pull aaronshaf/dynamodb-admin