jandalslap

getHomepage config

May 1st, 2025 (edited)
137
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.95 KB | Source Code | 0 0
  1. getHomepage config
  2.  
  3. _____________________________________________________________________________________________________________________________________
  4.  
  5. docker-compose.yml
  6.  
  7. ---
  8. services:
  9. homepage:
  10. image: ghcr.io/gethomepage/homepage:latest
  11. container_name: homepage
  12. labels:
  13. - 'com.centurylinklabs.watchtower.enable=true'
  14. - 'com.centurylinklabs.watchtower.depends-on=glances'
  15. env_file:
  16. - .env
  17. environment:
  18. - PUID=${PUID}
  19. - PGID=${DOCKER_PGID} # changed to docker group id to prevent errors to socket access
  20. - TZ=${TZ}
  21. - HOMEPAGE_API_RESPONSE_SIZE=10mb # increased from the default 4mb as error relating to lidarr (needs fixing)
  22. - HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS} #,<IP>:3000 # - add this IP if I ever open port 3000 locally as well
  23. #- HOMEPAGE_ALLOWED_HOSTS=* # - use to allow all if any issues with the above
  24. #- HOMEPAGE_BASE_URL=${HOMEPAGE_BASE_URL} # cant get homepage as a subfolder working behind proxy - base url issue
  25. #- GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL} # - as a subfolder
  26. - GF_SERVER_DOMAIN=${GF_SERVER_DOMAIN}
  27. volumes:
  28. - ${LOCAL_TIME}:/etc/localtime:ro
  29. - ${LOCAL_TIME}:/etc/timezone:ro
  30. - ${CONFIG_PATH}/homepage/app/config:/app/config
  31. - ${CONFIG_PATH}/homepage/app/public/icons:/app/public/icons # place custom .png logos in here
  32. - ${CONFIG_PATH}/homepage/app/public/images:/app/public/images # place custom .png or .gif images in here
  33. - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
  34. #ports:
  35. #- 3000:3000
  36. restart: unless-stopped
  37. depends_on:
  38. - glances
  39. networks:
  40. - docker_network
  41.  
  42. _____________________________________________________________________________________________________________________________________
  43.  
  44. settings.yaml
  45.  
  46. ---
  47. # For configuration options and examples, please see:
  48. # https://gethomepage.dev/latest/configs/settings
  49. title: Dashboard
  50. theme: dark # or light
  51. hideVersion: true
  52. hideErrors: true
  53. #background:
  54. #image: /images/clouds.gif
  55. color: zinc
  56.  
  57. layout:
  58. Media:
  59. icon: plex.png
  60. tab: Media
  61. style: row
  62. columns: 1
  63. Downloads:
  64. icon: /icons/downloads.png
  65. tab: Media
  66. style: row
  67. columns: 3
  68. Libraries:
  69. icon: /icons/libraries.png
  70. tab: Media
  71. style: row
  72. columns: 4
  73. Management:
  74. icon: /icons/management.png
  75. tab: Media
  76. style: row
  77. columns: 4
  78. Server:
  79. icon: /icons/server.png
  80. tab: Server
  81. style: row
  82. columns: 2
  83. Network:
  84. icon: /icons/network.png
  85. tab: Server
  86. style: row
  87. columns: 2
  88. Infrastructure:
  89. icon: /icons/infrastructure.png
  90. tab: Server
  91. style: row
  92. columns: 2
  93. Utilities:
  94. icon: /icons/utilities.png
  95. tab: Utilities
  96. Host:
  97. icon: /icons/host.png
  98. tab: Metrics
  99. style: row
  100. columns: 1
  101. Metrics:
  102. icon: /icons/metrics.png
  103. tab: Metrics
  104. style: row
  105. columns: 4
  106.  
  107.  
  108. providers:
  109. openweathermap: "{{HOMEPAGE_VAR_OPENWEATHERMAP_API}}"
  110. weatherapi: "{{HOMEPAGE_VAR_WEATHERAPI}}"
  111. _____________________________________________________________________________________________________________________________________
  112.  
  113. services.yaml
  114.  
  115. ---
  116. # For configuration options and examples, please see:
  117. # https://gethomepage.dev/latest/configs/services
  118.  
  119. - Media:
  120. - Plex:
  121. icon: plex.png
  122. href: "{{HOMEPAGE_VAR_PLEX_HREF}}"
  123. #target: _self
  124. ping: http://plex:32400
  125. statusStyle: "dot"
  126. description: media server
  127. widget:
  128. type: plex
  129. fields: ["streams", "movies", "tv", "albums"]
  130. url: http://plex:32400
  131. key: "{{HOMEPAGE_VAR_PLEX_KEY}}"
  132. - Tautulli:
  133. icon: tautulli.png
  134. href: "{{HOMEPAGE_VAR_TAUTULLI_HREF}}"
  135. #target: _self
  136. ping: http://tautulli:8181
  137. statusStyle: "dot"
  138. description: media server stats
  139. widget:
  140. type: tautulli
  141. url: http://tautulli:8181/tautulli
  142. key: "{{HOMEPAGE_VAR_TAUTULLI_KEY}}"
  143. enableUser: true # optional, defaults to false
  144. showEpisodeNumber: true # optional, defaults to false
  145. expandOneStreamToTwoRows: false # optional, defaults to true
  146. - Jellyfin:
  147. icon: jellyfin.png
  148. href: "{{HOMEPAGE_VAR_JELLYFIN_HREF}}"
  149. #target: _self
  150. ping: http://jellyfin:8096
  151. statusStyle: "dot"
  152. description: media server
  153. widget:
  154. type: jellyfin
  155. fields: ["movies", "series", "episodes", "songs"]
  156. url: http://jellyfin:8096
  157. key: "{{HOMEPAGE_VAR_JELLYFIN_KEY}}"
  158. enableBlocks: true # optional, defaults to false
  159. enableNowPlaying: true # optional, defaults to true
  160. enableUser: true # optional, defaults to false
  161. showEpisodeNumber: true # optional, defaults to false
  162. expandOneStreamToTwoRows: false # optional, defaults to true
  163. - Downloads:
  164. - SABnzbd:
  165. icon: sabnzbd.png
  166. href: "{{HOMEPAGE_VAR_SABNZBD_HREF}}"
  167. #target: _self
  168. ping: http://sabnzbd:9090
  169. statusStyle: "dot"
  170. description: usenet client
  171. widget:
  172. type: sabnzbd
  173. fields: ["rate", "queue", "timeleft"]
  174. url: http://sabnzbd:9090
  175. key: "{{HOMEPAGE_VAR_SABNZBD_KEY}}"
  176. - qBittorrent:
  177. icon: qbittorrent.png
  178. href: "{{HOMEPAGE_VAR_QBITTORRENT_HREF}}"
  179. #target: _self
  180. ping: http://qbittorrent:8080
  181. statusStyle: "dot"
  182. description: torrent client
  183. widget:
  184. type: qbittorrent
  185. fields: ["leech", "download", "seed", "upload"]
  186. url: http://qbittorrent:8080
  187. username: "{{HOMEPAGE_VAR_QBITTORRENT_USERNAME}}"
  188. password: "{{HOMEPAGE_VAR_QBITTORRENT_PASSWORD}}"
  189. - newznabarr:
  190. icon: /icons/newznabarr.png
  191. href: "{{HOMEPAGE_VAR_NEWZNABARR_HREF}}"
  192. #target: _self
  193. ping: http://newznabarr:10000
  194. statusStyle: "dot"
  195. description: download plugin
  196. widget:
  197. type: customapi
  198. url: http://newznabarr:10000/api?mode=widget&apikey={{HOMEPAGE_VAR_NEWZNABARR_URL_APIKEY}}
  199. refreshInterval: 10000 # Refresh every 10 seconds
  200. method: GET # GET request to the API
  201. display: block
  202. mappings:
  203. - field: downloading
  204. label: Downloading
  205. format: number
  206. - field: queued
  207. label: Queued
  208. format: number
  209. - field: failed
  210. label: Failed
  211. format: number
  212.  
  213. - Libraries:
  214. - Radarr:
  215. icon: radarr.png
  216. href: "{{HOMEPAGE_VAR_RADARR_HREF}}"
  217. #target: _self
  218. ping: http://radarr:7878
  219. statusStyle: "dot"
  220. description: movie library manager
  221. widget:
  222. type: radarr
  223. fields: ["wanted", "queued", "movies"]
  224. url: http://radarr:7878
  225. key: "{{HOMEPAGE_VAR_RADARR_KEY}}"
  226. - Sonarr:
  227. icon: sonarr.png
  228. href: "{{HOMEPAGE_VAR_SONARR_HREF}}"
  229. #target: _self
  230. ping: http://sonarr:8989
  231. statusStyle: "dot"
  232. description: tv show library manager
  233. widget:
  234. type: sonarr
  235. fields: ["wanted", "queued", "series"]
  236. url: http://sonarr:8989
  237. key: "{{HOMEPAGE_VAR_SONARR_KEY}}"
  238. - Lidarr:
  239. icon: lidarr.png
  240. href: "{{HOMEPAGE_VAR_LIDARR_HREF}}"
  241. #target: _self
  242. ping: http://lidarr:8686
  243. statusStyle: "dot"
  244. description: music library manager
  245. widget:
  246. type: lidarr
  247. fields: ["wanted", "queued", "artists"]
  248. url: http://lidarr:8686
  249. key: "{{HOMEPAGE_VAR_LIDARR_KEY}}"
  250. - Readarr:
  251. icon: readarr.png
  252. href: "{{HOMEPAGE_VAR_READARR_HREF}}"
  253. #target: _self
  254. ping: http://readarr:8787
  255. statusStyle: "dot"
  256. description: ebook library manager
  257. widget:
  258. type: readarr
  259. fields: ["wanted", "queued", "books"]
  260. url: http://readarr:8787
  261. key: "{{HOMEPAGE_VAR_READARR_KEY}}"
  262.  
  263. - Management:
  264. - Ombi:
  265. icon: ombi.png
  266. href: "{{HOMEPAGE_VAR_OMBI_HREF}}"
  267. #target: _self
  268. ping: http://ombi:3579
  269. statusStyle: "dot"
  270. description: requests manager
  271. widget:
  272. type: ombi
  273. fields: ["pending", "approved", "available"]
  274. url: http://ombi:3579
  275. key: "{{HOMEPAGE_VAR_OMBI_KEY}}"
  276. - Prowlarr:
  277. icon: prowlarr.png
  278. href: "{{HOMEPAGE_VAR_PROWLARR_HREF}}"
  279. #target: _self
  280. ping: http://prowlarr:9696
  281. statusStyle: "dot"
  282. description: indexer manager
  283. widget:
  284. type: prowlarr
  285. fields: ["numberOfGrabs", "numberOfQueries", "numberOfFailGrabs"]
  286. url: http://prowlarr:9696
  287. key: "{{HOMEPAGE_VAR_PROWLARR_KEY}}"
  288. - Bazarr:
  289. icon: bazarr.png
  290. href: "{{HOMEPAGE_VAR_BAZARR_HREF}}"
  291. #target: _self
  292. ping: http://bazarr:6767/bazarr
  293. statusStyle: "dot"
  294. description: subtitle manager
  295. widget:
  296. type: bazarr
  297. fields: ["missingEpisodes", "missingMovies"]
  298. url: http://bazarr:6767/bazarr
  299. key: "{{HOMEPAGE_VAR_BAZARR_KEY}}"
  300. - Calibre-Web:
  301. icon: /icons/calibre-web.png
  302. href: "{{HOMEPAGE_VAR_CALIBRE_WEB_HREF}}"
  303. #target: _self
  304. ping: http://calibre-web:8083
  305. statusStyle: "dot"
  306. description: ebook manager
  307. widget:
  308. type: calibreweb
  309. fields: ["books", "authors", "categories", "series"]
  310. url: http://calibre-web:8083
  311. username: "{{HOMEPAGE_VAR_CALIBRE_WEB_USERNAME}}"
  312. password: "{{HOMEPAGE_VAR_CALIBRE_WEB_PASSWORD}}"
  313.  
  314. - Server:
  315. - Portainer:
  316. icon: portainer.png
  317. href: "{{HOMEPAGE_VAR_PORTAINER_HREF}}"
  318. #target: _self
  319. ping: http://portainer:9000
  320. statusStyle: "dot"
  321. description: docker manager
  322. widget:
  323. type: portainer
  324. fields: ["running", "stopped", "total"]
  325. url: http://portainer:9000
  326. env: 2
  327. key: "{{HOMEPAGE_VAR_PORTAINER_KEY}}"
  328. - Watchtower:
  329. icon: watchtower.png
  330. ping: http://watchtower:8080
  331. statusStyle: "dot"
  332. description: container updater
  333. widget:
  334. type: watchtower
  335. fields: ["containers_scanned", "containers_updated", "containers_failed"]
  336. url: http://watchtower:8080
  337. key: "{{HOMEPAGE_VAR_WATCHTOWER_KEY}}"
  338. - SWAG:
  339. icon: linuxserver-io.png
  340. href: "{{HOMEPAGE_VAR_SWAG_HREF}}"
  341. #target: _self
  342. ping: http://swag:81
  343. statusStyle: "dot"
  344. description: proxy manager
  345. widget:
  346. type: swagdashboard
  347. fields: ["proxied", "auth", "outdated", "banned"]
  348. url: http://swag:81
  349. - NAS:
  350. icon: synology.png
  351. href: "{{HOMEPAGE_VAR_NAS_HREF}}"
  352. #target: _self
  353. ping: "{{HOMEPAGE_VAR_NAS_URL}}"
  354. statusStyle: "dot"
  355. description: file server
  356. widget:
  357. type: diskstation
  358. fields: ["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]
  359. url: "{{HOMEPAGE_VAR_NAS_URL}}"
  360. username: "{{HOMEPAGE_VAR_NAS_USERNAME}}"
  361. password: "{{HOMEPAGE_VAR_NAS_PASSWORD}}"
  362. volume: #volume_N # optional
  363. - Network:
  364. - Uptime-Kuma:
  365. icon: uptime-kuma.png
  366. href: "{{HOMEPAGE_VAR_UPTIME_KUMA_HREF}}"
  367. #target: _self
  368. ping: http://uptime-kuma:3001
  369. statusStyle: "dot"
  370. description: website monitor
  371. widget:
  372. type: uptimekuma
  373. url: http://uptime-kuma:3001
  374. slug: "{{HOMEPAGE_VAR_UPTIME_KUMA_SLUG}}"
  375. - NetAlertX:
  376. icon: netalertx.png
  377. href: "{{HOMEPAGE_VAR_NETALERTX_HREF}}"
  378. #target: _self
  379. ping: "{{HOMEPAGE_VAR_NETALERTX_URL}}"
  380. statusStyle: "dot"
  381. description: network activity
  382. widget:
  383. type: netalertx
  384. fields: ["total", "connected", "new_devices", "down_alerts"]
  385. url: "{{HOMEPAGE_VAR_NETALERTX_URL}}"
  386. key: "{{HOMEPAGE_VAR_NETALERTX_KEY}}"
  387. - Speedtest:
  388. icon: speedtest-tracker.png
  389. href: "{{HOMEPAGE_VAR_SPEEDTEST_HREF}}"
  390. #target: _self
  391. ping: http://speedtest:80
  392. statusStyle: "dot"
  393. description: speed test
  394. widget:
  395. type: speedtest
  396. fields: ["download", "upload", "ping"]
  397. url: http://speedtest:80
  398. key: "{{HOMEPAGE_VAR_SPEEDTEST_KEY}}"
  399. - DDNS Updater:
  400. icon: /icons/ddns-updater.png
  401. href: "{{HOMEPAGE_VAR_DDNS_UPDATER_HREF}}"
  402. #target: _self
  403. ping: http://ddns-updater:8000/ddns-updater
  404. statusStyle: "dot"
  405. description: ip updater
  406. widget:
  407. type: customapi
  408. url: https://api.ipify.org?format=json
  409. refreshInterval: 10000 # optional - in milliseconds, defaults to 10s
  410. method: GET
  411. mappings:
  412. - field: 'ip'
  413. label: Current IP
  414. format: text
  415.  
  416. - Infrastructure:
  417. - Peanut:
  418. icon: peanut.png
  419. href: "{{HOMEPAGE_VAR_PEANUT_HREF}}"
  420. #target: _self
  421. ping: http://peanut:8080
  422. statusStyle: "dot"
  423. description: ups monitor
  424. widget:
  425. type: peanut
  426. url: http://peanut:8080
  427. key: ups
  428. - Router:
  429. icon: /icons/tp-link.png
  430. href: "{{HOMEPAGE_VAR_ROUTER_HREF}}"
  431. #target: _self
  432. ping: "{{HOMEPAGE_VAR_ROUTER_URL}}"
  433. statusStyle: "dot"
  434. description: gateway router
  435.  
  436. - Utilities:
  437. - Calendar:
  438. icon: synology-calendar.png
  439. description: calendar
  440. widget:
  441. type: calendar
  442. view: monthly # optional - possible values monthly, agenda
  443. maxEvents: 10 # optional - defaults to 10
  444. showTime: true # optional - show time for event happening today - defaults to false
  445. 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)
  446. integrations:
  447. - type: sonarr
  448. service_group: Libraries # group name where widget exists
  449. service_name: Sonarr # service name for that widget
  450. - type: radarr
  451. service_group: Libraries # group name where widget exists
  452. service_name: Radarr # service name for that widget
  453. - type: lidarr # radarr, sonarr, lidarr, readarr, ical
  454. service_group: Libraries # group name where widget exists
  455. service_name: Lidarr # service name for that widget
  456. - type: readarr
  457. service_group: Libraries # group name where widget exists
  458. service_name: Readarr # service name for that widget
  459.  
  460. - Releases:
  461. icon: plex-alt.png
  462. description: calendar
  463. widget:
  464. type: calendar
  465. view: agenda # optional - possible values monthly, agenda
  466. maxEvents: 20 # optional - defaults to 10
  467. showTime: true # optional - show time for event happening today - defaults to false
  468. 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)
  469. integrations:
  470. - type: sonarr
  471. service_group: Libraries # group name where widget exists
  472. service_name: Sonarr # service name for that widget
  473. - type: radarr
  474. service_group: Libraries # group name where widget exists
  475. service_name: Radarr # service name for that widget
  476. - type: lidarr # radarr, sonarr, lidarr, readarr, ical
  477. service_group: Libraries # group name where widget exists
  478. service_name: Lidarr # service name for that widget
  479. - type: readarr
  480. service_group: Libraries # group name where widget exists
  481. service_name: Readarr # service name for that widget
  482. - Host:
  483. - Glances:
  484. icon: glances.png
  485. href: "{{HOMEPAGE_VAR_GLANCES_HREF}}"
  486. #target: _self
  487. ping: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  488. statusStyle: "dot"
  489. description: host metrics
  490. - Metrics:
  491. - Info:
  492. widget:
  493. type: glances
  494. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  495. version: 4
  496. metric: info
  497. - CPU Usage:
  498. widget:
  499. type: glances
  500. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  501. version: 4
  502. metric: cpu
  503. - Network Usage:
  504. widget:
  505. type: glances
  506. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  507. version: 4
  508. metric: network:enp9s0
  509. - Memory Usage:
  510. widget:
  511. type: glances
  512. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  513. version: 4
  514. metric: memory
  515. - Processes:
  516. widget:
  517. type: glances
  518. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  519. version: 4
  520. metric: process
  521. - Disk I/O:
  522. widget:
  523. type: glances
  524. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  525. version: 4
  526. metric: disk:nvme0n1
  527. - GPU:
  528. widget:
  529. type: glances
  530. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  531. version: 4
  532. metric: gpu:nvidia0
  533. - CPU Temp:
  534. widget:
  535. type: glances
  536. url: "{{HOMEPAGE_VAR_GLANCES_URL}}"
  537. version: 4
  538. metric: sensor:Sensor 1
  539. _____________________________________________________________________________________________________________________________________
  540.  
  541. widgets.yaml
  542.  
  543. ---
  544. # For configuration options and examples, please see:
  545. # https://gethomepage.dev/latest/configs/service-widgets
  546.  
  547. - logo:
  548. icon: /icons/logo.png
  549.  
  550. - greeting:
  551. text_size: xl
  552. text: "{{HOMEPAGE_VAR_GREETING_TEXT}}"
  553.  
  554. - openweathermap:
  555. label: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LABEL}}" #optional
  556. latitude: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LATITUDE}}"
  557. longitude: "{{HOMEPAGE_VAR_OPENWEATHERMAP_LONGITUTE}}"
  558. units: metric # or imperial
  559. provider: openweathermap
  560. cache: 5 # Time in minutes to cache API responses, to stay within limits
  561. format: # optional, Intl.NumberFormat options
  562. maximumFractionDigits: 1
  563.  
  564. - datetime:
  565. text_size: md
  566. format:
  567. dateStyle: long
  568. timeStyle: short
  569. hourCycle: h23
  570.  
  571. - resources:
  572. #expanded: true
  573. cpu: true
  574. memory: true
  575. disk: /
  576. cputemp: true
  577. tempmax: 70 # optional, maximum cpu temp
  578. units: metric
  579. uptime: true
  580. network: true
  581.  
  582. - search:
  583. provider: google
  584. target: _blank
  585.  
  586. _____________________________________________________________________________________________________________________________________
  587.  
  588. bookmarks.yaml
  589.  
  590. ---
  591. # For configuration options and examples, please see:
  592. # https://gethomepage.dev/latest/configs/bookmarks
  593.  
  594. - Developer:
  595. - Github:
  596. - abbr: GH
  597. href: "{{HOMEPAGE_VAR_GITHUB_HREF}}"
  598.  
  599. - Social:
  600. - Reddit:
  601. - abbr: RE
  602. href: https://reddit.com/
  603.  
  604. - Entertainment:
  605. - Organizr:
  606. - abbr: OR
  607. href: "{{HOMEPAGE_VAR_ORGANIZR_HREF}}"
  608.  
  609. _____________________________________________________________________________________________________________________________________
  610.  
  611. SCREENSHOTS: https://imgur.com/a/qiOG8rh
  612.  
  613. 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.
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
Tags: homepage
Comments
Add Comment
Please, Sign In to add comment