Files
wiki/Catalogue-Self-Hosted/apps/app-dynamodb-dashboard.md
T
2026-06-09 18:40:21 +02:00

159 lines
6.7 KiB
Markdown

---
title: DynamoDB Dashboard
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, aws, dynamodb, nosql, typescript, cloud]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/kritish-dhaubanjar/dynamodb-dashboard]
---
# 🗄️ DynamoDB Dashboard
> **Une web UI pour DynamoDB** : explorez, requêtez et gérez vos tables AWS DynamoDB depuis une interface locale. La console AWS est complète mais lourde — ce dashboard mise sur la simplicité.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | (GitHub) |
| **GitHub** | [kritish-dhaubanjar/dynamodb-dashboard](https://github.com/kritish-dhaubanjar/dynamodb-dashboard) |
| **License** | MIT |
| **Langage** | TypeScript (Node.js + React) |
| **Étoiles GitHub** | 54 ⭐ |
| **Catégorie** | [[cat-database\|Database]] |
| **Public** | Intermédiaires à avancés |
## 📝 Description
**DynamoDB Dashboard** est une **interface web open source** pour **Amazon DynamoDB**, la base NoSQL managée d'AWS. C'est important à souligner : ce n'est **pas une base de données self-hosted** — DynamoDB reste un service AWS. Ce que l'app propose, c'est une **UI plus légère et plus rapide** que la console AWS pour travailler sur vos tables.
-**Connexion à vos comptes AWS** : credentials IAM ou profil
-**Liste des tables** par région AWS
-**Browse / Scan / Query** : navigation, scan complet, requêtes par partition key
-**Édition d'items** : create, update, delete en place
-**Filtres et tri** côté UI
-**Visualisation de schémas** : clés primaires, GSI, LSI
-**Export CSV / JSON** des résultats
-**Support DynamoDB Local** : utilisable contre une instance locale de DynamoDB pour dev
-**Multi-régions** : basculement entre régions AWS
-**TypeScript / React** : stack moderne
**Public cible** : **les développeurs qui travaillent sur DynamoDB au quotidien** et qui trouvent la console AWS trop lente ou trop chargée. C'est aussi un excellent compagnon en **local dev** : on lance DynamoDB Local, on pointe le dashboard dessus, et on retrouve une UI familière sans cramer de crédits AWS.
**Note importante** : DynamoDB est un service **AWS managé** — vous ne "self-hostez" pas DynamoDB à proprement parler. Vous self-hostez **l'interface** pour y accéder. C'est pourquoi ce projet est listé dans la catégorie Database de selfh.st, mais gardez à l'esprit qu'il n'inclut pas la base elle-même.
## 🚀 Installation
### Docker Compose
```yaml
# docker-compose.yml
version: '3.8'
services:
dynamodb-dashboard:
image: ghcr.io/kritish-dhaubanjar/dynamodb-dashboard:latest
container_name: dynamodb-dashboard
restart: unless-stopped
environment:
AWS_REGION: eu-west-3
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
PORT: 8001
volumes:
- ./env:/app/.env
ports:
- "8001:8001"
labels:
- "traefik.enable=true"
- "traefik.http.routers.dyndb.rule=Host(`dynamodb.example.com`)"
- "traefik.http.routers.dyndb.entrypoints=websecure"
- "traefik.http.routers.dyndb.tls.certresolver=letsencrypt"
# Optionnel : DynamoDB Local pour le dev
dynamodb-local:
image: amazon/dynamodb-local:latest
container_name: dynamodb-local
restart: unless-stopped
command: ["-jar", "DynamoDBLocal.jar", "-sharedDb", "-inMemory"]
ports:
- "8000:8000"
volumes:
dynamodb-data:
```
### Bare-metal (Node.js)
```bash
git clone https://github.com/kritish-dhaubanjar/dynamodb-dashboard.git
cd dynamodb-dashboard
npm install
cp .env.example .env # éditer avec vos credentials AWS
npm run build
npm start
```
## ⚙️ Configuration Initiale
1. **Créer un utilisateur IAM dédié** (recommandé) avec `AmazonDynamoDBReadOnlyAccess` au minimum, ou `AmazonDynamoDBFullAccess` pour l'édition
2. **Définir les credentials AWS** : variables d'environnement `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`, ou profil `~/.aws/credentials`
3. **Choisir la région** : `AWS_REGION=eu-west-3` (Paris) ou autre
4. **Accéder à l'UI** : `http://IP:8001`
5. **Sélectionner une table** dans la liste, tester un Scan ou un Query
6. **Créer un item de test** : bouton "Create Item" pour valider les droits d'écriture
## 🔄 Alternatives
### Open Source
- **AWS Console** (la référence officielle, mais lourde)
- **DynamoDB Local** (l'image Docker `amazon/dynamodb-local`, pas d'UI)
- **NoSQL Workbench** (Amazon, app desktop, riche mais plus complexe)
- **dynobase** (payant, app desktop très populaire)
- **DBeaver** (avec le plugin DynamoDB, mais limité)
### Comparaison DynamoDB Dashboard vs autres
| Critère | DynamoDB Dashboard | AWS Console | NoSQL Workbench | Dynobase |
| :--- | :--- | :--- | :--- | :--- |
| **Self-hosted** | ✅ | ❌ | ❌ (desktop) | ❌ (desktop) |
| **UI web légère** | ✅ | ❌ (lourde) | — | — |
| **Édition in-place** | ✅ | ✅ | ✅ | ✅ |
| **Visualisation schéma** | ✅ | ✅ | ✅ | ✅ |
| **Offline / Local** | ✅ | ❌ | ✅ | ❌ |
| **Prix** | Gratuit | Inclus AWS | Gratuit | Freemium |
| **Maturité** | Jeune | Stable | Stable | Stable |
**Verdict** : pour un dashboard **web, simple, self-hosted**, c'est un bon choix. Si vous voulez la **richesse maximale**, NoSQL Workbench. Pour **l'admin complet**, la console AWS reste la référence.
### Propriétaires (ce que DynamoDB Dashboard complète)
- **Dynobase** (desktop, $15-30)
- **TablePlus** (desktop, $60)
- **AWS CLI** (scripting)
## 🔐 Sécurité
- **Credentials IAM** : ne jamais committer un fichier `.env` avec des clés AWS — utilisez un secret manager
- **Principe du moindre privilège** : créez un user IAM avec **uniquement** les actions DynamoDB nécessaires (jamais `*:*`)
- **HTTPS obligatoire** via [[app-traefik]] : les données DynamoDB peuvent être sensibles (PII, secrets applicatifs)
- **Restriction d'accès** : ce dashboard a accès à vos tables AWS, gardez-le derrière un VPN / SSO (cf. [[securisation-home-lab]])
- **MFA sur le compte AWS racine** : indispensable
## 📚 Ressources
- [GitHub kritish-dhaubanjar/dynamodb-dashboard](https://github.com/kritish-dhaubanjar/dynamodb-dashboard)
- [Documentation AWS DynamoDB](https://docs.aws.amazon.com/dynamodb/)
- [AWS IAM Best Practices](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
## Pages Liées
- [[cat-database]] — Catégorie Database
- [[app-traefik]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Templates Docker Compose
- [[securisation-home-lab]] — Sécuriser l'accès aux interfaces d'admin
- [[app-portainer]] — Gestion des containers Docker
- [[app-dockge]] — Alternative UI à Portainer