Proyecto de homelab pensado para facilitar los primeros pasos al montar servicios personales usando Docker.
La idea de este repositorio es tener una base simple, reproducible y fácil de mantener para correr servicios en un servidor casero o mini servidor.
Este proyecto prioriza:
- Simplicidad
- Reproducibilidad
- Backups
- Organización clara de datos
- Automatización básica
No pretende ser una plataforma compleja sino un punto de partida sólido para un homelab.
Este repositorio busca:
- Facilitar la instalación inicial de Docker
- Proveer una estructura de carpetas organizada
- Simplificar la gestión de contenedores
- Mantener los datos persistentes fuera de los contenedores
- Facilitar backups
Está pensado para entornos como:
- mini PC
- NUC
- servidor casero
- VPS pequeño
Sistema operativo recomendado:
- Ubuntu Server 22.04 o superior
También debería funcionar en:
- Debian 12
Requisitos mínimos recomendados:
- 2 GB RAM
- 20 GB de disco
El repositorio incluye un script para preparar el servidor.
git clone <repo>
cd Docker
sudo bash setup.sh
Este script realiza:
- Instalación de Docker
- Instalación de Docker Compose
- Creación del usuario de trabajo
- Configuración inicial
Ejemplo de estructura:
/docker
├── compose
├── data
├── backups
├── scripts
└── docker_backup.sh
Descripción:
| Carpeta | Descripción |
|---|---|
| compose | Archivos docker compose |
| data | Datos persistentes de los contenedores |
| backups | Backups generados automáticamente |
| scripts | Scripts auxiliares |
Todos los contenedores deben guardar sus datos en:
/docker/data
Esto permite:
- migrar servicios
- restaurar backups
- actualizar contenedores sin perder datos
El proyecto incluye el script:
docker_backup.sh
Este script genera un **backup comprimido del directorio **/docker/data.
bash docker_backup.sh
Los backups se guardan en:
/docker/backups
Se recomienda configurar un backup automático.
Editar crontab:
crontab -e
Agregar por ejemplo un backup diario a las 03:00 AM:
0 3 * * * /docker/docker_backup.sh >> /var/log/docker-backup.log 2>&1
Esto ejecutará el backup automáticamente todos los días.
Para mantener el homelab ordenado:
- Mantener todos los datos dentro de
/docker/data - No modificar contenedores manualmente
- Usar docker compose para todos los servicios
- Mantener backups automáticos
Posibles mejoras del proyecto:
- restauración automática de backups
- rotación de backups
- monitoreo
- dashboard del homelab
Este proyecto es un homelab personal pero cualquier mejora o sugerencia es bienvenida.
Uso libre para proyectos personales y homelabs.