Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getHomepage config
- _____________________________________________________________________________________________________________________________________
- docker-compose.yml
- ---
- services:
- homepage:
- image: ghcr.io/gethomepage/homepage:latest
- container_name: homepage
- labels:
- - 'com.centurylinklabs.watchtower.enable=true'
- - 'com.centurylinklabs.watchtower.depends-on=glances'
- env_file:
- - .env
- environment:
- - PUID=${PUID}
- - PGID=${DOCKER_PGID} # changed to docker group id to prevent errors to socket access
- - TZ=${TZ}
- - HOMEPAGE_API_RESPONSE_SIZE=10mb # increased from the default 4mb as error relating to lidarr (needs fixing)
- - HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS} #,<IP>:3000 # - add this IP if I ever open port 3000 locally as well
- #- HOMEPAGE_ALLOWED_HOSTS=* # - use to allow all if any issues with the above
- #- HOMEPAGE_BASE_URL=${HOMEPAGE_BASE_URL} # cant get homepage as a subfolder working behind proxy - base url issue
- #- GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL} # - as a subfolder
- - GF_SERVER_DOMAIN=${GF_SERVER_DOMAIN}
- volumes:
- - ${LOCAL_TIME}:/etc/localtime:ro
- - ${LOCAL_TIME}:/etc/timezone:ro
- - ${CONFIG_PATH}/homepage/app/config:/app/config
- - ${CONFIG_PATH}/homepage/app/public/icons:/app/public/icons # place custom .png logos in here
- - ${CONFIG_PATH}/homepage/app/public/images:/app/public/images # place custom .png or .gif images in here
- - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
- #ports:
- #- 3000:3000
- restart: unless-stopped
- depends_on:
- - glances
- networks:
- - docker_network
- _____________________________________________________________________________________________________________________________________
- settings.yaml
- ---
- # For configuration options and examples, please see:
- # https://gethomepage.dev/latest/configs/settings
- title: Dashboard
- theme: dark # or light
- hideVersion: true
- hideErrors: true
- #background:
- #image: /images/clouds.gif
- color: zinc
- layout:
- Media:
- icon: plex.png
- tab: Media
- style: row
- columns: 1
- Downloads:
- icon: /icons/downloads.png
- tab: Media
- style: row
- columns: 3
- Libraries:
- icon: /icons/libraries.png
- tab: Media
- style: row
- columns: 4
- Management:
- icon: /icons/management.png
- tab: Media
- style: row
- columns: 4
- Server:
- icon: /icons/server.png
- tab: Server
- style: row
- columns: 2
- Network:
- icon: /icons/network.png
- tab: Server
- style: row
- columns: 2
- Infrastructure:
- icon: /icons/infrastructure.png
- tab: Server
- style: row
- columns: 2
- Utilities:
- icon: /icons/utilities.png
- tab: Utilities
- Host:
- icon: /icons/host.png
- tab: Metrics
- style: row
- columns: 1
- Metrics:
- icon: /icons/metrics.png
- tab: Metrics
- style: row
- columns: 4
- providers:
- openweathermap: "{{HOMEPAGE_VAR_OPENWEATHERMAP_API}}"
- weatherapi: "{{HOMEPAGE_VAR_WEATHERAPI}}"
- _____________________________________________________________________________________________________________________________________
- services.yaml
- ---
- # For configuration options and examples, please see:
- # https://gethomepage.dev/latest/configs/services
- - Media:
- - Plex:
- icon: plex.png
- href: "{{HOMEPAGE_VAR_PLEX_HREF}}"
- #target: _self
- ping: http://plex:32400
- statusStyle: "dot"
- description: media server
- widget:
- type: plex
- fields: ["streams", "movies", "tv", "albums"]
- url: http://plex:32400
- key: "{{HOMEPAGE_VAR_PLEX_KEY}}"
- - Tautulli:
- icon: tautulli.png
- href: "{{HOMEPAGE_VAR_TAUTULLI_HREF}}"
- #target: _self
- ping: http://tautulli:8181
- statusStyle: "dot"
- description: media server stats
- widget:
- type: tautulli
- url: http://tautulli:8181/tautulli
- key: "{{HOMEPAGE_VAR_TAUTULLI_KEY}}"
- enableUser: true # optional, defaults to false
- showEpisodeNumber: true # optional, defaults to false
- expandOneStreamToTwoRows: false # optional, defaults to true
- - Jellyfin:
- icon: jellyfin.png
- href: "{{HOMEPAGE_VAR_JELLYFIN_HREF}}"
- #target: _self
- ping: http://jellyfin:8096
- statusStyle: "dot"
- description: media server
- widget:
- type: jellyfin
- fields: ["movies", "series", "episodes", "songs"]
- url: http://jellyfin:8096
- key: "{{HOMEPAGE_VAR_JELLYFIN_KEY}}"
- enableBlocks: true # optional, defaults to false
- enableNowPlaying: true # optional, defaults to true
- enableUser: true # optional, defaults to false
- showEpisodeNumber: true # optional, defaults to false
- expandOneStreamToTwoRows: false # optional, defaults to true
- - Downloads:
- - SABnzbd:
- icon: sabnzbd.png
- href: "{{HOMEPAGE_VAR_SABNZBD_HREF}}"
- #target: _self
- ping: http://sabnzbd:9090
- statusStyle: "dot"
- description: usenet client
- widget:
- type: sabnzbd
- fields: ["rate", "queue", "timeleft"]
- url: http://sabnzbd:9090
- key: "{{HOMEPAGE_VAR_SABNZBD_KEY}}"
- - qBittorrent:
- icon: qbittorrent.png
- href: "{{HOMEPAGE_VAR_QBITTORRENT_HREF}}"
- #target: _self
- ping: http://qbittorrent:8080
- statusStyle: "dot"
- description: torrent client
- widget:
- type: qbittorrent
- fields: ["leech", "download", "seed", "upload"]
- url: http://qbittorrent:8080
- username: "{{HOMEPAGE_VAR_QBITTORRENT_USERNAME}}"
- password: "{{HOMEPAGE_VAR_QBITTORRENT_PASSWORD}}"
- - newznabarr:
- icon: /icons/newznabarr.png
- href: "{{HOMEPAGE_VAR_NEWZNABARR_HREF}}"
- #target: _self
- ping: http://newznabarr:10000
- statusStyle: "dot"
- description: download plugin
- widget:
- type: customapi
- url: http://newznabarr:10000/api?mode=widget&apikey={{HOMEPAGE_VAR_NEWZNABARR_URL_APIKEY}}
- refreshInterval: 10000 # Refresh every 10 seconds
- method: GET # GET request to the API
- display: block
- mappings:
- - field: downloading
- label: Downloading
- format: number
- - field: queued
- label: Queued
- format: number
- - field: failed
- label: Failed
- format: number
- - Libraries:
- - Radarr:
- icon: radarr.png
- href: "{{HOMEPAGE_VAR_RADARR_HREF}}"
- #target: _self
- ping: http://radarr:7878
- statusStyle: "dot"
- description: movie library manager
- widget:
- type: radarr
- fields: ["wanted", "queued", "movies"]
- url: http://radarr:7878
- key: "{{HOMEPAGE_VAR_RADARR_KEY}}"
- - Sonarr:
- icon: sonarr.png
- href: "{{HOMEPAGE_VAR_SONARR_HREF}}"
- #target: _self
- ping: http://sonarr:8989
- statusStyle: "dot"
- description: tv show library manager
- widget:
- type: sonarr
- fields: ["wanted", "queued", "series"]
- url: http://sonarr:8989
- key: "{{HOMEPAGE_VAR_SONARR_KEY}}"
- - Lidarr:
- icon: lidarr.png
- href: "{{HOMEPAGE_VAR_LIDARR_HREF}}"
- #target: _self
- ping: http://lidarr:8686
- statusStyle: "dot"
- description: music library manager
- widget:
- type: lidarr
- fields: ["wanted", "queued", "artists"]
- url: http://lidarr:8686
- key: "{{HOMEPAGE_VAR_LIDARR_KEY}}"
- - Readarr:
- icon: readarr.png
- href: "{{HOMEPAGE_VAR_READARR_HREF}}"
- #target: _self
- ping: http://readarr:8787
- statusStyle: "dot"
- description: ebook library manager
- widget:
- type: readarr
- fields: ["wanted", "queued", "books"]
- url: http://readarr:8787
- key: "{{HOMEPAGE_VAR_READARR_KEY}}"
- - Management:
- - Ombi:
- icon: ombi.png
- href: "{{HOMEPAGE_VAR_OMBI_HREF}}"
- #target: _self
- ping: http://ombi:3579
- statusStyle: "dot"
- description: requests manager
- widget:
- type: ombi
- fields: ["pending", "approved", "available"]
- url: http://ombi:3579
- key: "{{HOMEPAGE_VAR_OMBI_KEY}}"
- - Prowlarr:
- icon: prowlarr.png
- href: "{{HOMEPAGE_VAR_PROWLARR_HREF}}"
- #target: _self
- ping: http://prowlarr:9696
- statusStyle: "dot"
- description: indexer manager
- widget:
- type: prowlarr
- fields: ["numberOfGrabs", "numberOfQueries", "numberOfFailGrabs"]
- url: http://prowlarr:9696
- key: "{{HOMEPAGE_VAR_PROWLARR_KEY}}"
- - Bazarr:
- icon: bazarr.png
- href: "{{HOMEPAGE_VAR_BAZARR_HREF}}"
- #target: _self
- ping: http://bazarr:6767/bazarr
- statusStyle: "dot"
- description: subtitle manager
- widget:
- type: bazarr
- fields: ["missingEpisodes", "missingMovies"]
- url: http://bazarr:6767/bazarr
- key: "{{HOMEPAGE_VAR_BAZARR_KEY}}"
- - Calibre-Web:
- icon: /icons/calibre-web.png
- href: "{{HOMEPAGE_VAR_CALIBRE_WEB_HREF}}"
- #target: _self
- ping: http://calibre-web:8083
- statusStyle: "dot"
- description: ebook manager
- widget:
- type: calibreweb
- fields: ["books", "authors", "categories", "series"]
- url: http://calibre-web:8083
- username: "{{HOMEPAGE_VAR_CALIBRE_WEB_USERNAME}}"
- password: "{{HOMEPAGE_VAR_CALIBRE_WEB_PASSWORD}}"
- - Server:
- - Portainer:
- icon: portainer.png
- href: "{{HOMEPAGE_VAR_PORTAINER_HREF}}"
- #target: _self
- ping: http://portainer:9000
- statusStyle: "dot"
- description: docker manager
- widget:
- type: portainer
- fields: ["running", "stopped", "total"]
- url: http://portainer:9000
- env: 2
- key: "{{HOMEPAGE_VAR_PORTAINER_KEY}}"
- - Watchtower:
- icon: watchtower.png
- ping: http://watchtower:8080
- statusStyle: "dot"
- description: container updater
- widget:
- type: watchtower
- fields: ["containers_scanned", "containers_updated", "containers_failed"]
- url: http://watchtower:8080
- key: "{{HOMEPAGE_VAR_WATCHTOWER_KEY}}"
- - SWAG:
- icon: linuxserver-io.png
- href: "{{HOMEPAGE_VAR_SWAG_HREF}}"
- #target: _self
- ping: http://swag:81
- statusStyle: "dot"
- description: proxy manager
- widget:
- type: swagdashboard
- fields: ["proxied", "auth", "outdated", "banned"]
- url: http://swag:81
- - NAS:
- icon: synology.png
- href: "{{HOMEPAGE_VAR_NAS_HREF}}"
- #target: _self
- ping: "{{HOMEPAGE_VAR_NAS_URL}}"
- statusStyle: "dot"
- description: file server
- widget:
- type: diskstation
- fields: ["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]
- url: "{{HOMEPAGE_VAR_NAS_URL}}"
- username: "{{HOMEPAGE_VAR_NAS_USERNAME}}"
- password: "{{HOMEPAGE_VAR_NAS_PASSWORD}}"
- volume: #volume_N # optional
- - Network:
- - Uptime-Kuma:
- icon: uptime-kuma.png
- href: "{{HOMEPAGE_VAR_UPTIME_KUMA_HREF}}"
- #target: _self
- ping: http://uptime-kuma:3001
- statusStyle: "dot"
- description: website monitor
- widget:
- type: uptimekuma
- url: http://uptime-kuma:3001
- slug: "{{HOMEPAGE_VAR_UPTIME_KUMA_SLUG}}"
- - NetAlertX:
- icon: netalertx.png
- href: "{{HOMEPAGE_VAR_NETALERTX_HREF}}"
- #target: _self
- ping: "{{HOMEPAGE_VAR_NETALERTX_URL}}"
- statusStyle: "dot"
- description: network activity
- widget:
- type: netalertx
- fields: ["total", "connected", "new_devices", "down_alerts"]
- url: "{{HOMEPAGE_VAR_NETALERTX_URL}}"
- key: "{{HOMEPAGE_VAR_NETALERTX_KEY}}"
- - Speedtest:
- icon: speedtest-tracker.png
- href: "{{HOMEPAGE_VAR_SPEEDTEST_HREF}}"
- #target: _self
- ping: http://speedtest:80
- statusStyle: "dot"
- description: speed test
- widget:
- type: speedtest
- fields: ["download", "upload", "ping"]
- url: http://speedtest:80
- key: "{{HOMEPAGE_VAR_SPEEDTEST_KEY}}"
- - DDNS Updater:
- icon: /icons/ddns-updater.png
- href: "{{HOMEPAGE_VAR_DDNS_UPDATER_HREF}}"
- #target: _self
- ping: http://ddns-updater:8000/ddns-updater
- statusStyle: "dot"
- description: ip updater
- widget:
- type: customapi
- url: https://api.ipify.org?format=json
- refreshInterval: 10000 # optional - in milliseconds, defaults to 10s
- method: GET
- mappings:
- - field: 'ip'
- label: Current IP
- format: text
- - Infrastructure:
- - Peanut:
- icon: peanut.png
- href: "{{HOMEPAGE_VAR_PEANUT_HREF}}"
- #target: _self
- ping: http://peanut:8080
- statusStyle: "dot"
- description: ups monitor
- widget:
- type: peanut
- url: http://peanut:8080
- key: ups
- - Router:
- icon: /icons/tp-link.png
- href: "{{HOMEPAGE_VAR_ROUTER_HREF}}"
- #target: _self
- ping: "{{HOMEPAGE_VAR_ROUTER_URL}}"
- statusStyle: "dot"
- description: gateway router
- - Utilities:
- - Calendar:
- icon: synology-calendar.png
- description: calendar
- widget:
- type: calendar
- view: monthly # optional - possible values monthly, agenda
- maxEvents: 10 # optional - defaults to 10
- showTime: true # optional - show time for event happening today - defaults to false
- timezone: Pacific/Auckland # optional and only when timezone is not detected properly (slightly slower performance) - force timezone for ical events (if it's the same - no change, if missing or different in ical - will be converted to this timezone)
- integrations:
- - type: sonarr
- service_group: Libraries # group name where widget exists
- service_name: Sonarr # service name for that widget
- - type: radarr
- service_group: Libraries # group name where widget exists
- service_name: Radarr # service name for that widget
- - type: lidarr # radarr, sonarr, lidarr, readarr, ical
- service_group: Libraries # group name where widget exists
- service_name: Lidarr # service name for that widget
- - type: readarr
- service_group: Libraries # group name where widget exists
- service_name: Readarr # service name for that widget
- - Releases:
- icon: plex-alt.png
- description: calendar
- widget:
- type: calendar
- view: agenda # optional - possible values monthly, agenda
- maxEvents: 20 # optional - defaults to 10
- showTime: true # optional - show time for event happening today - defaults to false
- timezone: Pacific/Auckland # optional and only when timezone is not detected properly (slightly slower performance) - force timezone for ical events (if it's the same - no change, if missing or different in ical - will be converted to this timezone)
- integrations:
- - type: sonarr
- service_group: Libraries # group name where widget exists
- service_name: Sonarr # service name for that widget
- - type: radarr
- service_group: Libraries # group name where widget exists
- service_name: Radarr # service name for that widget
- - type: lidarr # radarr, sonarr, lidarr, readarr, ical
- service_group: Libraries # group name where widget exists
- service_name: Lidarr # service name for that widget
- - type: readarr
- service_group: Libraries # group name where widget exists
- service_name: Readarr # service name for that widget
- - Host:
- - Glances:
- icon: glances.png
- href: "{{HOMEPAGE_VAR_GLANCES_HREF}}"
- #target: _self
- ping: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- statusStyle: "dot"
- description: host metrics
- - Metrics:
- - Info:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: info
- - CPU Usage:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: cpu
- - Network Usage:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: network:enp9s0
- - Memory Usage:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: memory
- - Processes:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: process
- - Disk I/O:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: disk:nvme0n1
- - GPU:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: gpu:nvidia0
- - CPU Temp:
- widget:
- type: glances
- url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
- version: 4
- metric: sensor:Sensor 1
- _____________________________________________________________________________________________________________________________________
- widgets.yaml
- ---
- # For configuration options and examples, please see:
- # https://gethomepage.dev/latest/configs/service-widgets
- - logo:
- icon: /icons/logo.png
- - greeting:
- text_size: xl
- text: "{{HOMEPAGE_VAR_GREETING_TEXT}}"
- - openweathermap:
- label: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LABEL}}" #optional
- latitude: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LATITUDE}}"
- longitude: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LONGITUTE}}"
- units: metric # or imperial
- provider: openweathermap
- cache: 5 # Time in minutes to cache API responses, to stay within limits
- format: # optional, Intl.NumberFormat options
- maximumFractionDigits: 1
- - datetime:
- text_size: md
- format:
- dateStyle: long
- timeStyle: short
- hourCycle: h23
- - resources:
- #expanded: true
- cpu: true
- memory: true
- disk: /
- cputemp: true
- tempmax: 70 # optional, maximum cpu temp
- units: metric
- uptime: true
- network: true
- - search:
- provider: google
- target: _blank
- _____________________________________________________________________________________________________________________________________
- bookmarks.yaml
- ---
- # For configuration options and examples, please see:
- # https://gethomepage.dev/latest/configs/bookmarks
- - Developer:
- - Github:
- - abbr: GH
- href: "{{HOMEPAGE_VAR_GITHUB_HREF}}"
- - Social:
- - Reddit:
- - abbr: RE
- href: https://reddit.com/
- - Entertainment:
- - Organizr:
- - abbr: OR
- href: "{{HOMEPAGE_VAR_ORGANIZR_HREF}}"
- _____________________________________________________________________________________________________________________________________
- SCREENSHOTS: https://imgur.com/a/qiOG8rh
- NB: Images zoomed out to 50% to capture the whole page but looks a better in normal 100% view. Layout is "Mobile-optimized" using tabs.