Sistema de gestión de bases de datos vía web usando CloudBeaver. Permite administrar múltiples bases de datos (MySQL, PostgreSQL, MongoDB, SQLite, Oracle, SQL Server, etc.) desde una interfaz web moderna.
- Docker
- Docker Compose
- Git
git clone <url-del-repositorio>
cd cloudbeaver-managerCopia el archivo .env.example a .env y modifica los valores según tus necesidades:
cp .env.example .env
nano .env # o tu editor preferidoVariables disponibles:
CLOUDBEAVER_PORT: Puerto de acceso (default: 8978)CB_SERVER_NAME: Nombre del servidorCB_SERVER_URL: URL del servidorCB_ADMIN_NAME: Usuario administradorCB_ADMIN_PASSWORD: Contraseña administrador (¡CAMBIAR EN PRODUCCIÓN!)
Opción A - Usando el script:
./scripts/start.shOpción B - Manualmente:
docker-compose up -dAbre tu navegador en: http://localhost:8978
En el primer acceso deberás configurar el usuario administrador.
./scripts/start.sh./scripts/stop.shdocker-compose logs -fdocker-compose restart- Accede a CloudBeaver en tu navegador
- Haz clic en "New Connection"
- Selecciona el tipo de base de datos (MySQL, PostgreSQL, etc.)
- Ingresa los datos de conexión:
- Host (localhost o IP del servidor)
- Puerto
- Base de datos
- Usuario
- Contraseña
- Haz clic en "Test Connection" para verificar
- Guarda la conexión
cloudbeaver-manager/
├── docker-compose.yml # Configuración de Docker
├── .env # Variables de entorno (no versionado)
├── .env.example # Ejemplo de variables de entorno
├── .gitignore # Archivos ignorados por Git
├── README.md # Esta documentación
├── workspace/ # Datos persistentes (no versionado)
└── scripts/
├── start.sh # Script para iniciar
└── stop.sh # Script para detener
- Haz commit y push de los cambios:
git add .
git commit -m "Configuración inicial"
git push origin main- Conéctate al servidor:
ssh usuario@ip-servidor- Clona el repositorio:
git clone <url-del-repositorio>
cd cloudbeaver-manager- Crea el archivo
.envcon las credenciales del servidor:
cp .env.example .env
nano .env- Inicia el servicio:
./scripts/start.sh- Accede desde: http://IP_SERVIDOR:8978
Cuando hagas cambios en local y quieras actualizarlos en el servidor:
# En el servidor
cd cloudbeaver-manager
git pull origin main
docker-compose down
docker-compose up -dTodos los datos de configuración, conexiones y preferencias se almacenan en el directorio workspace/. Este directorio:
- NO se versiona en Git (está en .gitignore)
- Persiste entre reinicios del contenedor
- Debe respaldarse regularmente
tar -czf cloudbeaver-backup-$(date +%Y%m%d).tar.gz workspace/tar -xzf cloudbeaver-backup-YYYYMMDD.tar.gz- Cambiar credenciales por defecto en el archivo
.env - Configurar firewall para restringir acceso al puerto 8978
- Usar HTTPS con proxy reverso (nginx + Let's Encrypt)
- Limitar IPs que pueden acceder al servicio
- Backups regulares del directorio workspace
server {
listen 443 ssl;
server_name db.tudominio.com;
ssl_certificate /etc/letsencrypt/live/db.tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/db.tudominio.com/privkey.pem;
location / {
proxy_pass http://localhost:8978;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}CloudBeaver soporta múltiples tipos de bases de datos:
- MySQL / MariaDB
- PostgreSQL
- MongoDB
- SQLite
- Oracle
- Microsoft SQL Server
- IBM DB2
- Cassandra
- Redis
- ClickHouse
- Y muchas más...
# Ver logs del contenedor
docker-compose logs cloudbeaver
# Verificar estado
docker-compose ps-
Verifica que el contenedor esté corriendo:
docker ps | grep cloudbeaver -
Verifica el puerto:
netstat -tlnp | grep 8978 -
Verifica el firewall (si aplica)
Detén el servicio y elimina el directorio workspace para resetear:
./scripts/stop.sh
rm -rf workspace
./scripts/start.shADVERTENCIA: Esto eliminará todas las conexiones y configuraciones guardadas.
sudo chown -R $USER:$USER workspace/Para actualizar CloudBeaver a la última versión:
docker-compose pull
docker-compose down
docker-compose up -dSi encuentras algún problema o tienes sugerencias, abre un issue o pull request.
Este proyecto es una configuración de CloudBeaver, que es software de código abierto. Consulta la licencia de CloudBeaver para más detalles.