Commit Graph

347 Commits

Author SHA1 Message Date
shamoon
3cd441a45e Maybe handle no traefik ingress routes
See #1998
2023-09-16 08:06:24 -07:00
Denis Papec
2d8160512f
Feature: tabbed layouts (#1981) 2023-09-14 14:55:14 -07:00
shamoon
95635fca04
Revert "Enhancement: forward cookies from request (#1804)" (#1946)
This reverts commit d4edd432d8.
2023-09-09 06:07:04 -07:00
James Waters
d4edd432d8
Enhancement: forward cookies from request (#1804) 2023-09-08 16:50:32 -07:00
Ben Phelps
17b0f635d8 mini-non-chart charts 2023-09-06 13:53:39 +03:00
Georges-Antoine Assi
9529553102
Enhancement: apply layout settings to bookmarks (#1902)
* Apply layout settings to bookmarks

* merge columnMap const

* Remove bookmarksOnTop setting

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-09-03 07:05:25 -07:00
Atropos
82d2f08e8b
Enhancement: support silmultaneous traefik .containio.us and .io ingress routes for k8s (#1875) 2023-08-28 11:00:39 -07:00
Zack Rauen
d6448763e0 Allow widgets to add header or set methods 2023-08-27 18:46:50 -04:00
Denis Papec
fc7e73eba2
Added custom API widget (#1858)
* Added custom API widget

* Rename custom widget to customapi

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-25 23:39:15 -07:00
shamoon
7cede1318e Support extra headers in widgets 2023-08-22 21:42:53 -07:00
joncrangle
39a94190cf
Merge branch 'main' into feature/mealie-widget 2023-08-16 23:43:20 -04:00
Xinos
bf8c10bb61 OMV widget implementation 2023-08-13 09:24:03 -07:00
Jonathan Crangle
58f4cf6edd Add mealie widget 2023-08-09 15:13:17 -04:00
shamoon
f8c382c480 Allow specify object fit for mjpeg widget 2023-08-06 07:33:08 -07:00
Ben Phelps
ba19f77b8f add mjpeg stream widget 2023-08-06 14:21:01 +03:00
Ben Phelps
9aba70d214 glances widget test 1 2023-08-01 03:54:19 +03:00
Nitzan Miranda
7e05adc02a
Add Azure DevOps (#1715)
* add azure pullrequrests

* add creatorId

* rename azurePullrequests->azurePullRequests

* pass creatorId to FE

* expose userEmail to frontend

* tolower

* remove unused code

* merge to AzureDevOps

* fix userEmail

* remove whitespace in const and set true endpoint in widget

* use widget params in endpoint

* change approvedNotCompleted to Approved

* change to lower

* rename

* rename

* merge widgets together

* limit pipeline result to 1 result

* Better handle azuredevops PR call failures

* change to have repositoryId and not branchName

* Fix field filtering, avoid PR call if not needed

---------

Co-authored-by: Nitzan Miranda <Nitzan.Miranda@bagirasys.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-07-29 22:17:30 -07:00
Johan Steen
92ed6dc1cb Add snapshot host and path to Kopia widget 2023-07-24 12:28:03 +07:00
shamoon
460c67be77
Merge pull request #1701 from Nizzan943/feat/add-azure-pipelines
Adding Azure Pipelines
2023-07-20 14:46:48 -07:00
Nitzan Miranda
04cccfdd60 Adds azure pipelines widget
Add translation for result and status
remove buildId value translation
Fixes syntax in azure pipelines
hide running status if finished
2023-07-20 14:45:10 -07:00
shamoon
6e581913ea
Merge pull request #1676 from markwalet/improve-proxmox
Improve proxmox
2023-07-20 06:12:40 -07:00
shamoon
1e60553904 Allow coinmarketcap slugs 2023-07-13 21:39:45 -07:00
Mark Walet
43b5263f41 Improve proxmox widget 2023-07-13 18:39:11 +02:00
Jon Seager
ca396ce96b
Override config directory with env var.
Until this change, the config directory was assumed
to be located at '/config'. This patch retains that
default behaviour, but enables users/devs to override
that behaviour by setting the HOMEPAGE_CONFIG_DIR
variable.
2023-07-10 15:48:51 +01:00
shamoon
d1f83c0359 Update http.js 2023-07-03 22:12:17 -07:00
nsankbeil
5640798fe4 fix: handle missing EOF when decompressing response
Closes: #1609
2023-07-03 11:49:16 -04:00
shamoon
a2fe1eef7a Handle invalid fields syntax in service labels 2023-06-28 08:49:25 -07:00
shamoon
b437ccde2f Another attempt to catch zlib decompression errors 2023-06-13 19:21:12 -07:00
shamoon
abcea88d0a Try to handle zlib errors 2023-06-13 15:23:19 -07:00
Dan5py
4a97fce841 Support old traefik CRD group 2023-06-13 22:04:56 +02:00
Dan5py
fce680d981 Fixes #1606 2023-06-13 21:02:06 +02:00
shamoon
1fb7be7457 Retrieve ping url from config rather than as query parameter 2023-06-11 09:50:41 -07:00
shamoon
27958c9f69
Merge pull request #1571 from rkokkelk/issue/1496
Fix: use service labels instead of container for service discovery with Docker Swarm
2023-06-08 00:35:22 -07:00
shamoon
4245f1070a fix docker service discovery, code styling 2023-06-07 14:06:23 -07:00
shamoon
c92d1caf80 Allow useWidgetAPI to not actually send a request 2023-06-07 13:43:53 -07:00
shamoon
774ca4b3b2
Merge pull request #1575 from nathan-sankbeil/feat/gzip
Support proxying compressed responses
2023-06-06 14:11:23 -07:00
shamoon
2c62f180a9
Merge pull request #1560 from Schoggi0815/feature/sonarr-radarr-queue-list
Feature/sonarr radarr queue list
2023-06-06 13:31:13 -07:00
nsankbeil
3a29262256 feat: support compressed responses 2023-06-05 21:44:58 -04:00
Matteo Bossi
5b3d1cc6e0 Make styling more consistent and add toggle to opt-in instead of opting out 2023-06-06 01:14:10 +02:00
Cyb3rzombie
8f0cd7e088 Add support for auth token 2023-06-05 18:26:11 +02:00
RoyK
f656c2b46d
fix(service-helper): service detection with Docker Swarm
The current implementation of service detection focusses on containers.
However when using Docker Swarm this limits automatic service detection
to the containers running on the same node as homepage (or
docker-proxy). Detecting other services in the docker swarm is with the
current implementation not possible.

This commit fixes this by getting the appropriate labels from services
when Docker swarm is configured in the config file. This ensures that
the appropriate labels are gathered from the service definition instead
of the container definiation, thus allowing for automatic service
detection for the entire Docker swarm. Please note that in order for
this to function the homepage (or dockerproxy) should be running on a
manager node. Only the manager node is able to gather all the relevant
service labels.

Fixes: #752, #970, #955, #1255, #1045, #1496
2023-06-05 16:06:14 +02:00
shamoon
56644ac487 Support env substitution for k8s 2023-05-28 23:03:04 -07:00
Jon
e6d95e29ee
Translate environment vars in labels 2023-05-29 01:14:03 -04:00
shamoon
febb4cc6d5 Support settings layout as a list 2023-05-28 09:51:44 -07:00
shamoon
1b984abd91 Fix error port display, again 2023-05-23 03:37:56 -07:00
Georges-Antoine Assi
cdd7b2d44b
Enhanced glances widget (#1534)
* Enhanced glances widget (resource match)

* Make widget clickable + cleanup helperrs

* Prevent unused glances API calls

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-05-22 10:50:58 -07:00
Shaun Walker
cf7c68261f
Add support for QNAP instances with multiple volumes (#1528)
* Add support for pfSense API

* Fix linting issues

* remove a line

* rename cpu to load in default block

* Re-order container blocks to ensure defaults show

* clean up

* Add support for multiple volumes as well as defining the volume you want to track

* QNAP widget syntax corrections, translate invalid

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-05-21 08:13:40 -07:00
shamoon
ba21ae60d7 url error log 2023-05-18 00:26:32 -07:00
David O'Trakoun
4f3396cf32
error hostname:port/path was missing colon 2023-05-17 20:03:08 -04:00
shamoon
bc981aae3d Include port in error messages 2023-05-14 21:24:09 -07:00
Shaun Walker
77f4c8bf54
Add pfSense API widget (#1491)
* Add support for pfSense API

* Fix linting issues

* remove a line

* rename cpu to load in default block

* Re-order container blocks to ensure defaults show

* simplify pfsense widget, rename, limit blocks

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-05-13 13:44:33 -07:00
Andre
acc19ccca1
Add Tailscale Widget (#1468)
* Added tailscale widget

* finished tailscale widget

* Consolidated date comparison to it's own function

* Modified to follow Airbnb's style guide

* Removed refresh and added translations

* fix some tailscale translation strings

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-05-06 21:09:33 -07:00
Georges-Antoine Assi
bd1c2b1881
Add setting to hide widgets on failure 2023-04-30 19:09:37 -04:00
shamoon
b5ada5ef11 Add type field to services from api 2023-04-21 08:50:15 -07:00
shamoon
dacb038126 Further widget validation cleanup 2023-04-11 11:15:08 -07:00
shamoon
a83d105764 Cleanup data validation 2023-04-11 11:05:30 -07:00
shamoon
7e012993d8 Support per-service stats control 2023-04-07 21:34:33 -07:00
shamoon
e4788cc7f6 Fix widget option boolean parsing with docker labels 2023-04-06 20:18:06 -07:00
shamoon
4824ed1a2c Fix data buffer parsing error 2023-04-06 07:03:06 -07:00
shamoon
379d2e59f1 preserve swr mutate 2023-04-05 22:45:27 -07:00
shamoon
64b43871c6 Try to fix false data parse errors 2023-04-05 22:17:52 -07:00
shamoon
6701e3bd77 Use HOMEPAGE_BUILDTIME to revalidate container restart/recreate 2023-04-04 22:55:26 -07:00
shamoon
a42c50f1cc fix emby widget options interpolation 2023-04-04 19:08:52 -07:00
shamoon
a0fa6367ca
Merge pull request #1161 from MrLemur/add-traefik-ingressroute
Feature: Add Traefik IngressRoute support for Kubernetes
2023-04-04 15:56:38 -07:00
shamoon
48180604f9 Fix jellyfin / emby blocks boolean evaluation 2023-04-04 00:55:05 -07:00
Sebastian Osiński
f55ba3b67a Add option to specify volume in Diskstation widget 2023-04-03 22:10:56 +02:00
Kassim Benhaddad
df714c7556 feat: add Traefik IngressRoute support for k8s 2023-03-29 23:19:56 +01:00
Nina Morgan
f37d3580b7 add support for Docker TLS based connections 2023-03-29 16:58:50 -04:00
shamoon
7d8da29e57 Update credentialed.js 2023-03-19 23:03:12 -07:00
Mirek Szajowski
94dc5ad0e5 Add support of NC-Token to Nextcloud widget 2023-03-20 03:03:43 +01:00
shamoon
eaf7ba608b Fix blocks for emby/jellyfin, support enable/disable 2023-03-12 16:50:28 -07:00
shamoon
b8a1b90713 Update credentialed.js 2023-03-05 23:32:27 -08:00
Mathias R
e97fdc17be Added Ghostfolio widget 2023-03-01 19:44:13 +01:00
Jason Fischer
3db5435c19
Merge pull request #1043 from jameswynn/variable-substitution
Added support for environment variable substitution
2023-02-28 20:14:30 -08:00
shamoon
e9790e5677 Change cloudflare widget to use api tokens 2023-02-26 08:18:47 -08:00
shamoon
b2d22d7574 Cache config env variables & check if config contains variables before substitution 2023-02-23 09:51:28 -08:00
shamoon
060d5afcaa Simplify pterodactyl to only show server / node counts 2023-02-23 07:50:13 -08:00
James Wynn
e0f1aae4d5 Added support for environment variable substitution
* Only environment variables starting with HOMEPAGE_VAR_ and HOMEPAGE_FILE_
  are supported
* The value of env var HOMEPAGE_VAR_XXX will replace {{HOMEPAGE_VAR_XXX}}
  in any config
* The value of env var HOMEPAGE_FILE_XXX must be a file path, the contents
  of which will be used to replace {{HOMEPAGE_FILE_XXX}} in any config
* If a substituted value contains a variable reference it may also be
  replaced, but the behavior is non-deterministic
2023-02-23 08:50:25 -06:00
James Wynn
f8f96645b0 Added "external" boolean annotation to specify external services
External services define a kubernetes service pointing to an application
hosted outside of the cluster. These services should not attempt to get
the status based on kubernetes deployments. The new boolean flag disables
this functionality. Since this is an edge case, the default value is "false".
2023-02-22 09:05:26 -06:00
Jason Fischer
45946ddfe1
Merge pull request #963 from benphelps/fix-settings-after-container-update
Fix settings after container update
2023-02-18 22:56:53 -08:00
shamoon
e35a66d3f1 Suppory body in widget endpoint mappings 2023-02-18 22:18:27 -08:00
shamoon
e1176e9e3b Strip sensitive information contained in URLs from frontend API calls 2023-02-15 14:46:31 -08:00
James Wynn
b4cdb03228 Added support for "ping" configuration in kubernetes ingress annotations 2023-02-09 17:09:59 -06:00
shamoon
3600e5487d
Apply suggestions from #964 code review 2023-02-08 08:30:53 -08:00
chain710
f109ffa9bc cookieJar.setCookieSync ignore error
cookieJar.setCookieSync crash node when error, like:
```
uncaughtException: Error: Cookie not in this host's domain. Cookie:example.com Request:127.0.0.1
```
2023-02-08 20:33:11 +08:00
shamoon
7b474d4cef Revert "Merge pull request #609 from benphelps/fix-576"
This reverts commit a7f290dfdd, reversing
changes made to cf38395100.
2023-02-08 00:19:33 -08:00
Jason Fischer
11ae52df4a
Merge main 2023-02-05 00:21:35 -08:00
shamoon
17ebdd8226 Unifi widgets support sites other than default 2023-02-03 01:19:42 -08:00
Benoit
4c17e3fd14 Synology Widget : making it work with multiple widgets connecting to differents versions of DSM 2023-01-31 12:07:23 +01:00
Jason Fischer
893b3f0986
Merge main 2023-01-29 17:07:40 -08:00
Jason Fischer
e62952c2c1
Create reusable Synology proxy
- Migrate DiskStation and DownloadStation to use new proxy
- Move DiskStation proxy UI logic into component
2023-01-29 17:04:36 -08:00
Eizock
2a42d89d08
Add Proxmox Backup Server Widget (#879)
* Add Proxmox Backup Server Widget

* Clarification added to Failed Tasks

* Refactor pbs to proxmoxbackupserver

* Removing property instead of recreating object

* minor code styling of proxmoxbackupserver widget

---------

Co-authored-by: Eizock <>
Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
2023-01-28 16:32:47 -08:00
Jason Fischer
e96036e076
Merge pull request #873 from jameswynn/sort-services-by-weight
Services are now sorted by a new 'weight' field
2023-01-24 17:52:08 -08:00
James Wynn
8d016629d3 Services are now sorted by the 'weight' field.
* Default for discovered services is 0
* Default weight for configured services is their index within their
  group scaled by 100, i.e. (index + 1) * 100
* Should be backwards compatible with current loose ordering
2023-01-24 12:48:49 -06:00
James Wynn
02e9df8f28 Parse widget field list if is a string 2023-01-24 09:31:20 -06:00
shamoon
f9e27a6bb5
Merge pull request #868 from KillahB33/main
Cloudflared Widget
2023-01-23 19:54:34 -08:00
Michael Shamoon
ca4b5b131d Allow specifying wan interface on opnsense widget 2023-01-22 11:02:52 -08:00
KillahBee
fa1792cd5f adding cloudflare widget 2023-01-20 11:43:19 -05:00
Jason Fischer
627ce179ef
Merge pull request #448 from jameswynn/kubernetes
Support for Kubernetes and Longhorn
2023-01-18 14:54:38 -08:00
Jason Fischer
a7f290dfdd
Merge pull request #609 from benphelps/fix-576
Fix: settings not picked up after first container creation
2023-01-09 16:53:24 -08:00
James Wynn
b6e8b64a2e Merge branch 'main' into kubernetes 2023-01-09 08:34:43 -06:00
James Wynn
4d6ce1f7e2 Widgets in discovered services now work correctly 2023-01-09 08:30:50 -06:00
Michael Shamoon
fc2e17fa59 fix useWidgetAPI refreshInterval 2023-01-09 01:33:58 -08:00
John Hollowell
34a7b25c9c Add truenas key to credentialed proxy handler
Revert "Change TrueNAS to use API key"

This reverts commit 1926c26b77d8e048d92da6e20ff24a3056237daf.

Co-Authored-By: John Hollowell <jhollowe@johnhollowell.com>
2023-01-07 10:00:16 -08:00
James Wynn
36ed1022e3 detection now uses annotation "gethomepage.dev/enabled" instead of label 2023-01-03 16:15:08 -06:00
James Wynn
e15ba1c82c Merge branch 'main' into kubernetes 2022-12-31 11:19:42 -06:00
Michael Shamoon
ee729a7e6a remove error on no discovered services 2022-12-30 20:31:25 -08:00
Michael Shamoon
6b90d3ef28 Handle docker server failures if others succeed 2022-12-22 21:16:52 -08:00
Michael Shamoon
93445a2831 Use credentialed proxy for miniflux 2022-12-16 22:33:24 -08:00
Michael Shamoon
db46931246 Allow map in credentialedproxy 2022-12-16 22:32:28 -08:00
Vinay Dawani
9188f5cdd9 cleanup 2022-12-11 12:49:23 -05:00
Vinay Dawani
c720df0805 double negation instead of ternary. force boolean 2022-12-11 04:01:06 -05:00
Vinay Dawani
b7722ed333 check swarm value before passing 2022-12-11 03:15:59 -05:00
Vinay Dawani
fb883c7b27 added yaml file variable for swarm mode checks 2022-12-11 03:03:20 -05:00
James Wynn
ec08535204 fixed podSelector discovery 2022-12-09 07:56:51 -06:00
James Wynn
a146c13c4f fixed unintentional blank default podSelector from discovery 2022-12-09 07:52:32 -06:00
James Wynn
8543118607 updated ingress selector label, added href override annotation 2022-12-09 07:43:52 -06:00
James Wynn
09eb172079 new status format, new podSelector field, more accurate pod stats
* renamed pod label prefix from "homepage" to "gethomepage.dev"
  which is more inline with typical kubernetes practices
2022-12-08 16:04:33 -06:00
James Wynn
174cb651b4 Merge branch 'main' into kubernetes 2022-12-08 09:57:51 -06:00
Michael Shamoon
f89093a067 Update openmeteo-condition-map.js 2022-12-05 09:57:32 -08:00
Michael Shamoon
656b818488 Fix conditions map for openmeteo 2022-12-05 08:52:45 -08:00
Michael Shamoon
c01b60dbd1 try to detect invalid settings load 2022-12-03 00:14:07 -08:00
shamoon
9d2f1ab8c8 Add default interval setting for coinmarketcap 2022-12-01 06:36:51 -08:00
Michael Shamoon
04fbf315ee Fix startup errors on completely empty settings file
Closes #564
2022-11-27 19:35:45 -08:00
Jason Fischer
9f03d18e49
Move content-length calculation to http module
- consolidate http / https functionality to single function
2022-11-24 12:26:22 -08:00
Michael Shamoon
ccfafe1b31 fix fatal jsonrpc error, error handling, add content-length 2022-11-23 23:02:42 -08:00
Jason Fischer
7266390491
Add Deluge widget
- Create semi-generic jsonrpc proxy handler
- Refactor NZBGet to use jsonrpc proxy handler

closes #190
2022-11-23 11:51:53 -08:00
Michael Shamoon
92d456dbf4 fix group sort to prevent possible loss 2022-11-21 00:29:20 -08:00
Michael Shamoon
e4c0a62fd9 Merge branch 'main' of https://github.com/benphelps/homepage 2022-11-20 23:59:13 -08:00
Michael Shamoon
b393318084 fix group sorting bug 2022-11-20 23:59:10 -08:00
Jason Fischer
354f819041
Merge pull request #505 from benphelps/ping-and-redesign-status
Feature: Service ping, redesign docker status
2022-11-20 10:03:43 -08:00
Jason Fischer
0428914690
Merge pull request #535 from theeternalrat/configurable-logpath
Added configurable setting for log folder
2022-11-20 09:47:30 -08:00
Rat
c8806a8775 lint fix 2022-11-19 12:10:29 -08:00
James Wynn
a1f2003a77 Merge branch 'main' into kubernetes 2022-11-19 09:09:23 -06:00
Michael Shamoon
f9c2f40ad1 hide webkit details marker, logger url output 2022-11-19 00:12:05 -08:00
Michael Shamoon
4ccf8eddae fixes for widget validation 2022-11-18 23:07:25 -08:00
shamoon
0ad026503a
Merge pull request #358 from GodD6366/feat/support-sort-layout
Feature: support sort layout
2022-11-18 22:15:57 -08:00
Rat
83a3a06386 Added configurable setting for log folder, falls back to config path if not set 2022-11-18 15:32:59 -08:00
Michael Shamoon
8a783ba9f6 Simplify error catching 2022-11-18 15:24:07 -08:00
Michael Shamoon
7b7740563e Basic widget data validation 2022-11-18 15:23:33 -08:00
Michael Shamoon
1c456b70c0 Re-create service ping, docker status changes
See #388
2022-11-07 11:35:13 -08:00
James Wynn
056e26dfd3 Improved handling of empty or disabled kubernetes configuration 2022-11-06 06:58:52 -06:00
James Wynn
0c6f7dbee1 Cleaned up some variable names 2022-11-06 06:58:52 -06:00
James Wynn
4fc6db49ca Improved kubernetes error handling 2022-11-06 06:58:52 -06:00
James Wynn
c4333fd2dc Kubernetes support
* Total CPU and Memory usage for the entire cluster
* Total CPU and Memory usage for kubernetes pods
* Service discovery via annotations on ingress
* No storage stats yet
* No network stats yet
2022-11-06 06:58:52 -06:00
Michael Shamoon
ae3f847cef Sort layout groups by default, simplify sorting 2022-11-03 20:35:52 -07:00
GodD6366
3740426bb5 Change to server-side implementation 2022-11-03 20:35:52 -07:00
Brandon Barker
68b8e4b376 feat: add tubearchivist widget 2022-10-31 15:23:34 +02:00
Brandon Barker
a2a5382ddb feat: add autobrr widget 2022-10-26 12:56:43 +02:00
Michael Shamoon
a3ed070921 Some info widgets exempt from cleaning private data 2022-10-21 20:54:45 -07:00