Cómo instalar Flame en Docker - Startpage minimalista autohospedada en Docker

Flame | Startpage | Docker

Flame: Startpage minimalista autohospedado en Docker para apps y bookmarks (alternativa SUI, Heimdall)

Página de inicio limpia con apps y bookmarks. Editor GUI integrado. Auto-detección Docker. 15 temas built-in. Widget clima. Search personalizado. Autenticación. Custom CSS. Node.js. MIT open source.

¿Qué es Flame?


Flame es una startpage minimalista self-hosted diseñada como página de inicio limpia para tu navegador servidor, permitiendo gestionar apps y bookmarks mediante editor GUI integrado sin necesidad de editar configuración manual. Inspirado en SUI, es más simple y accesible que Heimdall u Organizr para usuarios que valoran minimalismo.

Propuesta clave: Interfaz limpia y minimalista (diseño inspired por SUI). Editor GUI integrado (crea/edita/elimina apps y bookmarks sin archivos). Pinea favoritos al home screen. Auto-detección Docker (labels flame.pawelmalak/). 15 temas built-in + custom theme builder. Custom CSS support. Widget clima animado (Weather API). Search con prefijos (/g para Google, /r para Reddit, etc). Buscador en apps y bookmarks (local search). Autenticación (protege settings). Visibilidad items (public/logged-in only). Import Firefox bookmarks (HTML). Soporte Docker secrets. Multiarch (amd64, armv7, arm64, Raspberry Pi). Node.js ligero. SQLite persistencia.

Características principales: Startpage minimalista grid-based. Editor GUI (create/update/delete apps y bookmarks). Icono personalizado por app (upload custom o Material Icons). Pin items al home. Búsqueda instant (apps + bookmarks). Search providers con prefijos (Google /g, Reddit /r, DuckDuckGo, Bing, Wikipedia, etc). Local search default. Auto-detect Docker (labels). 15 temas built-in (Catppuccin, Nord, Dracula, Tokyo Night, etc). Custom theme builder (CSS). Support full Custom CSS. Weather widget (animado, temperatura, nubosidad). Autenticación (solo password). Admin-only changes. Item visibility (public/logged-in). Import Firefox bookmarks (.html). Docker secrets support. Multiarch support (amd64, arm32v7, arm64). Node.js backend. React frontend. SQLite database. Responsive design (mobile, tablet, desktop).

Para homelabs: Startpage limpia y bella. Gestor apps/bookmarks visual. Sin complejidad innecesaria. Minimalista but potente.

Características principales

Editor GUI integrado

Crea/edita/elimina apps y bookmarks sin YAML/JSON.

Auto-detect Docker

Labels (flame.pawelmalak/). Detecta containers automáticamente.

15 temas built-in + custom

Catppuccin, Nord, Dracula, Tokyo Night, etc. Custom theme builder.

Widget clima animado

Weather API. Temperatura, nubosidad. Actualizaciones en tiempo real.

Search personalizado

Prefijos (/g Google, /r Reddit, etc). Local search built-in.

Pinea favoritos

Pin items al home screen. Quick access.

Autenticación

Password protect. Admin-only changes. Privacidad.

Custom CSS

Personaliza estilo completamente. CSS injection.

Import Firefox bookmarks

HTML files. Migraplications desde navegador.

Docker secrets support

PASSWORD_FILE /run/secrets/. Seguridad mejorada.

Multiarch support

amd64, armv7, arm64. Raspberry Pi compatible.

MIT open source

6.5K+ stars. Comunidad activa. Desarrolla v3 en progreso.

Requisitos del sistema

  • Docker (requiere daemon, con socket opcional para Docker integration)
  • 150 MB - 400 MB RAM (Node.js ligero)
  • 100 MB espacio disco (imagen + datos)
  • Puerto 5005 (configurable)
  • Volumen persistente /app/data (SQLite database, config)
  • Docker socket (opcional) /var/run/docker.sock (para auto-detect Docker)
  • PASSWORD env var (para autenticación, mínimo 8 caracteres)
  • Weather API Key (opcional) (para widget clima)
  • Navegador moderno (Chrome, Firefox, Safari, Edge, mobile browsers)
Setup ultra-simple: Solo Docker + PASSWORD env. Sin configuración adicional.

Instalación con Docker Compose

Opción 1: Docker Compose básico

cat > docker-compose.yml << 'EOF' version: '3.6' services: flame: image: pawelmalak/flame container_name: flame restart: unless-stopped ports: - "5005:5005" volumes: - flame_data:/app/data # Opcional pero recomendado para auto-detect Docker - /var/run/docker.sock:/var/run/docker.sock environment: # Contraseña autenticación (mínimo 8 caracteres) - PASSWORD=tu_contraseña_segura_aqui volumes: flame_data: EOF docker compose up -d

Opción 2: Docker Compose con Docker secrets

mkdir -p ./secrets echo "tu_contraseña_segura" > ./secrets/flame_password cat > docker-compose.yml << 'EOF' version: '3.6' services: flame: image: pawelmalak/flame container_name: flame restart: unless-stopped ports: - "5005:5005" volumes: - flame_data:/app/data - /var/run/docker.sock:/var/run/docker.sock environment: - PASSWORD_FILE=/run/secrets/password secrets: - password volumes: flame_data: secrets: password: file: ./secrets/flame_password EOF docker compose up -d

Opción 3: Docker run simple

docker run -d \ --name flame \ --restart unless-stopped \ -p 5005:5005 \ -e PASSWORD=tu_contraseña_aqui \ -v flame_data:/app/data \ -v /var/run/docker.sock:/var/run/docker.sock \ pawelmalak/flame

Acceder (setup inicial)

http://localhost:5005 - Dashboard Flame

Login inicial

  1. Abre http://localhost:5005
  2. Click "Login" (arriba derecha)
  3. Ingresa PASSWORD que configuraste en env var
  4. Dashboard aparece con opción "Add app" + "Add bookmark"

Primeros pasos

1. Login

  1. Abre http://localhost:5005
  2. Click "Login" (arriba derecha)
  3. Ingresa contraseña
  4. Dashboard con opciones de edit

2. Agregar primera app

  1. Click "+ Add app"
  2. Nombre: "Portainer"
  3. URL: "http://localhost:9000"
  4. Icon: elige predefinido (Portainer) o upload custom
  5. Descripción (opcional)
  6. Click "Create"
  7. App aparece en grid (clickeable)

3. Agregar bookmark

  1. Click "+ Add bookmark"
  2. Nombre: "GitHub"
  3. URL: "https://github.com"
  4. Icon (opcional)
  5. Click "Create"
  6. Bookmark aparece en listado

4. Pinea favoritos

  1. Click item (app o bookmark)
  2. Opción "Pin" aparece
  3. Item pinedo aparece en home screen destacado

5. Auto-detect Docker apps (labels)

  1. En tu docker-compose.yml agregar labels:
services: portainer: image: portainer/portainer-ce labels: - flame.pawelmalak/type=application - flame.pawelmalak/name=Portainer - flame.pawelmalak/url=http://portainer:9000 - flame.pawelmalak/icon=docker # Material Icons
  1. Flame auto-detecta y agrega automático

6. Cambiar tema

  1. Click "Settings" (engranaje, abajo izquierda)
  2. Appearance → Theme
  3. Elige entre 15 temas: Catppuccin, Nord, Dracula, Tokyo Night, etc
  4. Aplicación inmediata

7. Personalizar fondo/clima

  1. Settings → Appearance → Background
  2. Color personalizado o gradiente
  3. Settings → Weather
  4. Weather API Key (free tier WeatherAPI.com)
  5. Latitud/longitud (puedes usar latlong.net)
  6. Widget clima aparece con animación

8. Configurar búsqueda personalizado

  1. Settings → Search
  2. Default search: "Local" (busca en apps/bookmarks)
  3. O elige Google, DuckDuckGo, Reddit, etc
  4. Add custom search engines con prefijos

9. Custom CSS

  1. Settings → Customization → Custom CSS
  2. Ingresa CSS personalizado
  3. Ejemplo: cambiar colores, tamaños de fuente, etc

10. Import Firefox bookmarks

  1. Settings → Import/Export
  2. Click "Import Firefox bookmarks"
  3. Selecciona archivo .html (Firefox bookmarks backup)
  4. Flame importa automático

11. Editar app/bookmark

  1. Login (si no estás)
  2. Hover sobre app/bookmark
  3. Opciones aparecen: Edit, Delete, Pin
  4. Click Edit → modifica

12. Logout

  1. Settings → Logout
  2. Dashboard vuelve read-only (solo items public visibles)

Casos de uso

  • Homelabs: Startpage personal. Hub central apps. Landing page servidor.
  • Public homepage: Shared dashboard amigos/familia. Links públicos. Radio station guide (ejemplo: Azuracast).
  • Team dashboard: Pequeño equipo. Status servicios. Quick links.
  • Learning Docker: Aprende labels, auto-discovery. Simplemente pero funcional.
  • Reemplazo SUI/Heimdall: Alternativa minimalista. UI más limpia. Mejor UX para principiantes.

HTTPS con Caddy (producción)

Caddyfile

homepage.tudominio.com { reverse_proxy localhost:5005 }

Acceso remoto seguro

https://homepage.tudominio.com con HTTPS automático

IMPORTANTE: Proteger con autenticación

Flame incluye autenticación password. Para acceso remoto, recomendado adicional: Caddy basic_auth o HTTPS + firewall.

Gestión y mantenimiento

Ver logs

docker logs -f flame

Backup de data (database + config)

docker exec flame sh -c 'cp /app/data/db.sqlite /app/data/db.sqlite.backup' docker cp flame:/app/data ./flame-backup-$(date +%Y%m%d)

Restore data

docker stop flame docker cp ./flame-backup-YYYYMMDD/data flame:/app/data docker start flame

Reiniciar container

docker compose restart flame

Actualizar a versión más reciente

docker compose pull docker compose up -d

Monitorear consumo

docker stats flame # Típicamente: 150-300MB RAM, bajo CPU

Cambiar contraseña

docker compose down # Edita docker-compose.yml: PASSWORD=nueva_contraseña docker compose up -d

Import bookmarks desde Firefox

cd flame/.dev pip3 install Pillow beautifulsoup4 python3 bookmarks_importer.py --bookmarks ./bookmarks.html --data /path/to/flame/data

Comparativa con alternativas

vs SUI

Flame gana: Docker integration, editor GUI, temas personalizables. SUI gana: Ultra-minimalista, zero database, no deps.

vs Heimdall

Flame gana: Más simple, más minimalista, mejor UX. Heimdall gana: Más features, más maduro, más opciones.

vs Organizr

Flame gana: Simplicity, Docker labels. Organizr gana: Multi-user, más customization, más features.

vs Homer

Flame gana: GUI editor, no YAML. Homer gana: Zero database, static generator, simplísimo.

Mejor para: Quién busca startpage minimalista pero con potencia. GUI editor. Temas. Auto-Docker. Simple pero no simplista.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.