Initial vault setup
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user