Cómo instalar YAL en Docker - Hub de enlaces minimalista autohospedado en Docker
YAL: Hub de enlaces minimalista, searchable y altamente personalizable en Docker
Directorio de enlaces simple. Búsqueda integrada. Branding personalizado. Go binario compilado. Non-root por defecto. Sitio estático. Accesible. Sin dependencias pesadas. Perfecto para homelabs.
¿Qué es YAL?
YAL es un hub de enlaces simple, minimalista y totalmente personalizable para mostrar y organizar enlaces con búsqueda integrada. A diferencia de Shlink (acortador de URLs), Linktree (SaaS pago), o Bookmark managers complejos, YAL es un binario Go ultra-ligero que genera un sitio estático para alojar tu colección de enlaces con branding personalizado, perfecta para startups, equipos, proyectos, o simplemente tu propia colección.
Características técnicas: Binario Go compilado estáticamente. Generación de sitio estático en memoria. Corre sin root por defecto. Búsqueda full-text integrada. Totalmente accesible (WCAG, screen readers). Soporte para iconos locales o remotos. Imágenes de fondo customizables. Interfaz responsive (desktop, tablet, móvil). Sin dependencias externas. Rápido: <100mb b="" correr="" en="" nas="" p="" para="" perfecto="" pi="" ram.="" raspberry="" sicos.="" vps=""> 100mb>
Características principales
Búsqueda integrada
Busca enlaces en tiempo real. Full-text. Instantáneo.
Branding personalizado
Logo, colores, título, mascota, favicon. Tu marca.
Iconos customizables
Locales o remotos. PNG, JPG, SVG. Auto-inlining.
Imágenes de fondo
Fondo custom con CSS filters. Branding visual.
Responsive design
Desktop, tablet, móvil. Funciona en cualquier pantalla.
Accesible al 100%
WCAG. Screen readers. Navegación teclado.
Ultra ligero
Binario Go compilado. <100mb cero="" dependencias.="" p="" ram.=""> 100mb>
Sitio estático
Genera HTML en startup. Sirve vía web server.
Requisitos del sistema
- Docker instalado
- 50-100 MB RAM (muy ligero)
- 50 MB - 1 GB espacio disco
- Puerto 2024 (configurable)
- Alpine Linux base (imagen mínima)
- Binario Go compilado (sin runtime Python/Node)
Instalación con Docker Compose
Opción 1: Setup simple (demo)
Opción 2: Personalizado con volúmenes
Iniciar
Acceder
http://localhost:2024
Configuración de enlaces
Estructura de archivos
Ejemplo: config/links.yaml
Variables de entorno clave
Primeros pasos
1. Setup inicial
- Copia docker-compose.yml y crea estructura
- Genera carpetas: config, icons, images
- docker compose up -d
2. Crear archivo de configuración
- Crea config/links.yaml
- Estructura: categories con links dentro
- Cada link: name, url, icon
3. Agregar iconos (opcional)
- Coloca PNG/SVG en carpeta icons/
- Referencia en config como nombre sin extensión
- YAL auto-inlining en startup
4. Personalizar branding
- Coloca logo.png, mascot.png en images/
- Actualiza env vars YAL_LOGO, YAL_MASCOT
- Fondo: background.png + YAL_BACKGROUND_FILTER
- Reinicia: docker compose restart
5. Acceder y buscar
- Abre http://localhost:2024
- Ves tu hub con categorías y enlaces
- Búsqueda superior funciona en tiempo real
Casos de uso
- Startups: Landing page con recursos útiles para equipo
- Agencias: Hub interno con links a clientes, herramientas, docs
- Comunidades: Página centralizada con enlaces a Discord, GitHub, Wiki
- Personal branding: Tu hub de enlaces en tu dominio (como Linktree pero self-hosted)
- Documentación: Portal centralizado con links a guías, APIs, resources
- Homelabs: Dashboard de services: Plex, Jellyfin, Nextcloud, etc
- Teams remotos: Hub interno compartido en red
HTTPS con Caddy
Caddyfile
Acceso remoto
https://links.tudominio.com con HTTPS automático
SEO y sharing
Tu hub es una página estática con meta tags. Comparte en redes, funciona perfectamente.
Gestión y mantenimiento
Ver logs
Editar configuración (sin reiniciar)
Reiniciar
Actualizar imagen
Generar página estática (CI/CD)
Ver estadísticas
Limpiar todo
Comparativa con alternativas
vs Linktree
YAL gana: Self-hosted, gratuito, sin suscripción, branding total. Linktree gana: UI pulida, analytics, integraciones SaaS.
vs Shlink
YAL gana: Hub de enlaces, sitio bonito, búsqueda. Shlink gana: Acortador de URLs, analytics profundo, links tracking.
vs Bookmark managers
YAL gana: Simple, compartible, pública. Browsers ganan: Privados, sync automático.
vs Notion/Wiki
YAL gana: Ultra ligero, rápido, simple. Notion/Wiki ganan: Más potentes, colaboración.
Comentarios
Publicar un comentario