Docker: Homepage dashboard

2023-06-21

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

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

- 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

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

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.

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

Ingrese la dirección de su instancia


Más publicaciones como esta