Instalación
Hay varias formas de instalar Databasus: script automatizado (recomendado), un simple docker run, Docker Compose, Helm para Kubernetes o Docker Compose con Caddy para despliegues en producción.
Requisitos del sistema
Databasus necesita los siguientes recursos mínimos para funcionar correctamente:
- CPU: al menos 1 núcleo
- RAM: mínimo 500 MB
- Almacenamiento: 5 GB para la instalación más el espacio que necesite para las copias de seguridad
- Docker: Docker Engine 20.10+ y Docker Compose v2.0+
Opción 1: script de instalación (recomendado, solo Linux)
El script de instalación:
- ✅ Instala Docker con Docker Compose (si aún no están instalados)
- ✅ Configura Databasus
- ✅ Activa el arranque automático al reiniciar el sistema
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bashEn este caso, Databasus se instala en el directorio /opt/databasus.
Opción 2: docker run simple
La forma más fácil de ejecutar Databasus:
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestEste único comando:
- ✅ Arranca Databasus
- ✅ Guarda todos los datos en el directorio
./databasus-data - ✅ Reinicia el contenedor automáticamente al reiniciar el sistema
Opción 3: configuración con Docker Compose
Cree un archivo docker-compose.yml con la siguiente configuración:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stoppedDespués ejecute:
docker compose up -dTenga en cuenta que el arranque puede tardar hasta ~2 minutos.
Opción 4: Kubernetes con Helm
Para despliegues en Kubernetes, instale directamente desde el registro OCI. Elija el método de acceso que mejor encaje con su entorno.
Con ClusterIP + port-forward (desarrollo)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespaceAcceda mediante port-forward:
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005Con LoadBalancer (entornos en la nube)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancerObtenga la IP externa y acceda a Databasus:
kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005Con Ingress (acceso por dominio)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.comPara más opciones (NodePort, TLS, HTTPRoute para Gateway API), consulte la documentación del Helm chart.
Ejecución con Caddy como reverse proxy
Para despliegues en producción puede usar Caddy como reverse proxy para obtener certificados HTTPS automáticos y acceso seguro a Databasus. A continuación tiene una configuración completa de Docker Compose con Caddy.
Docker Compose con Caddy
Cree un archivo docker-compose.yml:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
# No port exposed - Caddy handles external access
caddy:
container_name: caddy
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy-data:/data
- ./caddy-config:/config
restart: unless-stopped
depends_on:
- databasusCree un Caddyfile en el mismo directorio:
backup.example.com {
reverse_proxy databasus:4005
}Después arranque los servicios:
docker compose up -dEsta configuración proporciona:
- ✅ HTTPS automático con certificados de Let's Encrypt
- ✅ Redirección de HTTP a HTTPS
- ✅ Reverse proxy hacia Databasus
- ✅ Datos persistentes tanto de Caddy como de Databasus
Sustituya backup.example.com por su dominio real. Asegúrese de que el DNS del dominio apunta a la dirección IP de su servidor antes de arrancar los servicios.
Primeros pasos
Después de la instalación:
- Arranque y acceda a Databasus: inicie Databasus y abra
http://localhost:4005 - Cree su primera tarea de respaldo: haga clic en "New Backup" y configure la conexión a su base de datos PostgreSQL
- Configure la programación: defina la frecuencia de las copias (cada hora, día, semana, mes o cron)
- Elija el destino de almacenamiento: indique dónde guardar las copias (local, S3, Google Drive, etc.)
- Configure las notificaciones: añada canales (Slack, Telegram, Discord) para recibir alertas sobre el estado de las copias
- Empiece a respaldar: guarde la configuración y observe cómo se ejecuta su primera copia de seguridad
Health checks
Health check en Docker
Un health check integrado se activa automáticamente para docker run y Docker Compose. El contenedor pasa a healthy en cuanto Databasus empieza a atender peticiones (tras un breve periodo de gracia de arranque). Solo comprueba que la aplicación responde, así que el contenedor no se reinicia por condiciones no críticas como poco espacio en disco.
Endpoint de monitorización / estado
Para monitorización de disponibilidad y paneles de estado:
GET http://<host>:4005/api/v1/system/healthDevuelve 200 cuando todo está bien, o 503 con el motivo cuando algo necesita atención: base de datos interna, caché, uso de disco (por encima del 95%), herramientas cliente de bases de datos, planificador de copias y actividad del agente de verificación. El endpoint no requiere autenticación y tiene CORS abierto para monitores basados en navegador.
⚠️ Importante: solo para monitorización y alertas, no como liveness probe del contenedor o de Kubernetes: devuelve 503 en estados degradados pero operativos (por ejemplo, un disco casi lleno), lo que reiniciaría un contenedor que funciona.
Kubernetes
Use una liveness/readiness probe que ejecute databasus healthcheck; reserve el endpoint /api/v1/system/health para la monitorización externa.
¿Cómo actualizar Databasus?
Actualizar la instalación con Docker
Para actualizar Databasus ejecutado con Docker, deténgalo, limpie la caché de Docker y reinicie el contenedor.
- Vaya al directorio donde está instalado Databasus (normalmente
/opt/databasus) - Detenga el contenedor:
docker compose stop - Limpie la caché de Docker:
docker system prune -a - Reinicie el contenedor:
docker compose up -d
Se descargará la última versión de Databasus desde Docker Hub (si no ha fijado la versión en el archivo docker-compose.yml).
Actualizar la instalación con Helm
Para actualizar Databasus ejecutado en Kubernetes con Helm, use el comando upgrade:
helm upgrade databasus oci://ghcr.io/databasus/charts/databasus -n databasusSi tiene valores personalizados, añada -f values.yaml o use flags --set para conservar su configuración. Helm hará una actualización progresiva a la nueva versión.
Migración desde Postgresus
Databasus es el nuevo nombre de Postgresus. Si actualmente usa Postgresus, puede seguir usándolo o migrar a Databasus.
Importante: renombrar la imagen de Docker no es suficiente, porque Postgresus y Databasus usan carpetas de datos y nombres de base de datos interna distintos.
Para migrar:
- Detenga el contenedor de Postgresus:
docker compose stop - Instale Databasus con cualquiera de los métodos anteriores (use una ruta de volumen distinta,
./databasus-data) - Vuelva a crear manualmente sus bases de datos, almacenamientos y notificadores en Databasus
Durante la migración puede ejecutar Postgresus y Databasus en paralelo usando puertos y rutas de volumen distintos.
Solución de problemas
El contenedor no arranca
Si el contenedor no arranca, revise los logs:
docker logs databasusPuerto ya en uso
Si el puerto 4005 ya está en uso, puede cambiarlo en su docker-compose.yml:
ports:
- "8080:4005" # Change 8080 to any available portErrores de permisos
Si tiene problemas de permisos con el directorio de datos:
sudo chown -R $USER:$USER ./databasus-data
chmod -R 755 ./databasus-data