Skip to content

edirosolini/HomeLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Homelab Docker Stack

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.


Objetivos del proyecto

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

Requisitos

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

Instalación inicial

El repositorio incluye un script para preparar el servidor.

1 Clonar el repositorio

git clone <repo>
cd Docker

2 Ejecutar setup

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

Estructura del proyecto

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

Datos persistentes

Todos los contenedores deben guardar sus datos en:

/docker/data

Esto permite:

  • migrar servicios
  • restaurar backups
  • actualizar contenedores sin perder datos

Backups

El proyecto incluye el script:

docker_backup.sh

Este script genera un **backup comprimido del directorio **/docker/data.

Ejecutar backup manual

bash docker_backup.sh

Los backups se guardan en:

/docker/backups

Backup automático con cron

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.


Buenas prácticas

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

Futuras mejoras

Posibles mejoras del proyecto:

  • restauración automática de backups
  • rotación de backups
  • monitoreo
  • dashboard del homelab

Contribuciones

Este proyecto es un homelab personal pero cualquier mejora o sugerencia es bienvenida.


Licencia

Uso libre para proyectos personales y homelabs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages