Ir al contenido
  1. Posts/

Docker: Homepage dashboard

·802 palabras·4 mins
Software Docker Unraid
Tabla de contenido

Índice
#

  1. Que es Homepage
  2. Instalación
    1. Docker Compose
    2. Unraid
  3. Configuración
    1. Servicios
    2. Marcadores
    3. Settings y widgets

Después de probar varios tableros, páginas de inicio o dashboard como Homarr, Heindall y Flame, creo haber encontrado el que mejor se adapta a lo que busco, que sea ligero, fácil de configurar, integración con docker y diferentes tipos de servicios y que tenga un desarrollo activo del proyecto

Que es Homepage
#

En el repositorio de Homepage, se definen Un panel de aplicaciones moderno (totalmente estático, rápido), seguro (proxy) y altamente personalizable con integraciones para más de 25 servicios y traducciones en más de 15 idiomas. Configurado fácilmente a través de archivos YAML (o descubrimiento a través de etiquetas docker).

Instalación
#

Docker Compose
#

El fichero para el despliegue en docker compose

    version: "3.3"
    services:
      homepage:
        image: ghcr.io/benphelps/homepage:latest
        container_name: homepage
        ports:
          - 3000:3000
        volumes:
          - /path/to/config:/app/config # Make sure your local config directory exists
          - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations

Unraid
#

En unRaid se puede instalar desde el repositorio de aplicaciones de la comunidad, no necesita de ninguna configuración inicial especial

img

Configuración
#

La configuración de Homepage se realiza mediante archivos YAML (o descubrimiento a través de etiquetas docker). Tienes toda la documentación sobre la configuración en https://gethomepage.dev/en/installation/

    ls -lh /mnt/user/appdata/homepage/

    total 28K
    -rw-rw-r-- 1 root root 1.8K Feb 20 21:43 bookmarks.yaml
    -rw-rw-r-- 1 root root  200 Feb 13 00:09 docker.yaml
    -rw-rw-r-- 1 root root   31 Feb 12 18:58 kubernetes.yaml
    drwxr-xr-x 1 root root   24 Feb 12 18:58 logs/
    -rw-rw-r-- 1 root root 4.8K Feb 24 20:48 services.yaml
    -rw-rw-r-- 1 root root  222 Feb 13 00:16 settings.yaml
    -rw-rw-r-- 1 root root  627 Feb 12 22:07 widgets.yaml

Servicios
#

Mi fichero de configuración para mis servicios

    cat /mnt/user/appdata/homepage/services.yaml
``` yaml
- Home:

    - NPM:
        icon: nginxproxymanager.png
        href: http://192.168.1.2:81
        description: Nginx Proxy Manager
        ping: http://192.168.1.2:81
        container: Nginx-Proxy-Manager-Official
        widget:
          type: npm
          url: http://192.168.1.2:81
          username: [email protected]
          password: xxxxxxxxxxxxxx

    - Nas01:
        icon: unraid.png
        href: http://192.168.1.2:89
        ping: http://192.168.1.2:89
        description: unRaid GUI

    - Router:
        icon: router.png
        href: https://192.168.1.1
        description: Router Casa
        ping: https://192.168.1.1

    - Vaultwarden:
        icon: vaultwarden.png
        href: https://xxxxxxxx.es
        description: Bovedas contraseñas
        ping: https://xxxxxxxx.es
        container: vaultwarden

    - ddns-updater:
        icon: ddns-updater.png
        href: http://192.168.1.2:8001
        description: DDNS upater
        container: ddns-updater
        ping: http://192.168.1.2:8001

    - Umami:
        icon: umami
        href: http://xxxxxxxxxxx.es
        description: Metricas blog
        container: umami
        ping: http://xxxxxxxxxxxx.es


    - Syncthing:
        icon: syncthing
        href: http://192.168.1.2:8384
        description: Servidor syncthing
        container: syncthing

    - Radicale:
        icon: radicale
        href: http://xxxxxxxxxxxx.es
        description: Servidor Caldav y Cardav
        ping: http://xxxxxxxxxxx.es
        container: radicale

- Media:
    - Jellyfin:
        icon: jellyfin
        href: http://xxxxxxxxxxx.es
        description: Servidor multimedia
        ping: https://xxxxxxxxxxx.es
        container: jellyfin
        widget:
          type: jellyfin
          url: http://xxxxxxxxxx.es
          key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    - Jellyserr:
        icon: jellyseerr
        href: http://192.168.1.2:5055/
        description:
        container: jellyseerr
        ping: http://192.168.1.2:5055/
        widget:
          type: jellyseerr
          url: http://192.168.1.2:5055/
          key: xxxxxxxxxxxxxxxxxxxxxxxxxxx

    - Miniflux:
        icon: miniflux
        href: https://xxxxxxxxx.es
        description: Lector RSS
        ping: https://xxxxxxxxx.es
        container: miniflux
        widget:
          type: miniflux
          url: http://xxxxxxxxx.es
          key: xxxxxxxxxxxxxxxxxxxxxxxxxxx

    - PhotoPrism:
        icon: photoprism
        href: http://192.168.1.2:2342
        description: Gestor fotografias
        container: PhotoPrism


    - Wallabag:
        icon: wallabag
        href: http://xxxxxxxxxxxxxxxxxxxx.es
        description: Guarda paginas web
        ping: http://xxxxxxxxxxxxxxx.es
        container: wallabag


    - MotionEye:
        icon: motioneye
        href: http://192.168.1.2:8765/
        description: Video vigilancia
        ping: http://192.168.1.2:8765/
        container: MotionEye

- Arr:
    - qBittorrent:
        icon: qbittorrent.png
        href: http://192.168.1.2:8080
        description: cliente torrent
        container: qbittorrent
        ping: http://192.168.1.2:8080
        widget:
          type: qbittorrent
          url: http://192.168.1.2:8080
          username: xxxxxxx
          password: xxxxxxxxxxxxxxxxxxxx

    - Sonarr:
        icon: sonarr.png
        href: http://192.168.1.2:8989/
        description: Gestor Series
        widget:
          type: sonarr
          url: http://192.168.1.2:8989/
          key: xxxxxxxxxxxxxxxxxxxxxxxxxx

    - Radarr:
        icon: radarr.png
        href: http://192.168.1.2:7878
        description: Gestor peliculas
        widget:
          type: radarr
          url: http://192.168.1.2:7878
          key: xxxxxxxxxxxxxxxxxxxxxxxx

    - Lidarr:
        icon: lidarr
        href: http://192.168.1.2:8686
        description: Indexador torrent
        widget:
          type: lidarr
          url: http://192.168.1.2:8686
          key: xxxxxxxxxxxxxxxxxxxxxxxx

    - Prowlarr:
        icon: prowlarr
        href: http://192.168.1.2:9696
        description: Indexador torrent
        widget:
          type: prowlarr
          url: http://192.168.1.2:9696
          key: xxxxxxxxxxxxxxxxxxxxxxxxxxxx	
```

img

Marcadores
#

El fichero con la configuración de mis marcadores

cat /mnt/user/appdata/homepage/bookmarks.yaml
    - Paginas:
        - Blog:
            - abbr: BL
              href: https://elblogdelazaro.org/
        - As:
            - abbr: AS
              href: https://as.com/
        - Marca:
            - abbr: MC
              href: https://www.marca.com/
        - MundoDeportivo:
            - abbr: MD
              href: https://www.mundodeportivo.com/
        - ElMundo:
            - abbr: EM
              href: https://elmundo.es
        - Abc:
            - abbr: AB
              href: https://abc.es
        - ElPais:
            - abbr: BP
              href: https://elpais.com/
    
    
    
    - Social:
        - ProtonMail:
            - abbr: PT
              href: https://mail.proton.me/u/0/inbox
        - YouTube:
            - abbr: YT
              href: https://youtube.com/
        - Mastodon:
            - abbr: MT
              href: https://mastodon.social/public/local
        - Twitter:
            - abbr: TW
              href: https://twitter.com/home
    
    
    - Trackers:
        - xxxxxxx:
            - abbr: HD
              href: xxxxxxxxxxxxxxxx
        - Redbits:
            - abbr: RB
              href: xxxxxxxxxxxxxxxxxxxx
        - Tottentland:
            - abbr: TL
              href: xxxxxxxxxxxxxxxxxx
        - DivTeam:
            - abbr: DT
              href: xxxxxxxxxxxxxxxxxxxxxxxxx

img

Settings y widgets
#

    cat /mnt/user/appdata/homepage/settings.yaml
    title: Dashboard Nas01
    language: es
    
    providers:
      openweathermap: openweathermapapikey
      weatherapi: weatherapiapikey

    cat /mnt/user/appdata/homepage/widgets.yaml

    - resources:
        cpu: true
        memory: true
    
    - search:
        provider: duckduckgo
        target: _blank
    
    - openmeteo:
        label: Pinto # optional
        latitude: 40.2589448
        longitude: -3.6832130
        timezone: Europe/Madrid # optional
        units: metric # or imperial
        cache: 5 # Time in minutes to cache API responses, to stay within limits
    
    - datetime:
        locale: nil
        text_size: xs
        format:
          dateStyle: long
          hour12: false
    
    - greeting:
        text_size: xl
        text: Panel Carlos M.

img

Espero que te haya gustado, pasa un gran día 🐧