Commit Graph

130 Commits

Author SHA1 Message Date
Johan Steen
92ed6dc1cb Add snapshot host and path to Kopia widget 2023-07-24 12:28:03 +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
a2fe1eef7a Handle invalid fields syntax in service labels 2023-06-28 08:49:25 -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
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
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
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
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
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
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
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
eaf7ba608b Fix blocks for emby/jellyfin, support enable/disable 2023-03-12 16:50:28 -07:00
shamoon
b2d22d7574 Cache config env variables & check if config contains variables before substitution 2023-02-23 09:51:28 -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
James Wynn
b4cdb03228 Added support for "ping" configuration in kubernetes ingress annotations 2023-02-09 17:09:59 -06: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
shamoon
17ebdd8226 Unifi widgets support sites other than default 2023-02-03 01:19:42 -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
Michael Shamoon
ca4b5b131d Allow specifying wan interface on opnsense widget 2023-01-22 11:02:52 -08: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
4d6ce1f7e2 Widgets in discovered services now work correctly 2023-01-09 08:30:50 -06: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
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
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
Michael Shamoon
92d456dbf4 fix group sort to prevent possible loss 2022-11-21 00:29:20 -08:00
Michael Shamoon
b393318084 fix group sorting bug 2022-11-20 23:59:10 -08:00
James Wynn
a1f2003a77 Merge branch 'main' into kubernetes 2022-11-19 09:09:23 -06: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
Michael Shamoon
a3ed070921 Some info widgets exempt from cleaning private data 2022-10-21 20:54:45 -07:00
Michael Shamoon
48a09e5a99 Refactor info widget sanitizing / privateOptions 2022-10-12 01:53:57 -07:00
Michael Shamoon
7c39cd8960 Private widget options API 2022-10-11 12:16:18 -07:00
Ben Phelps
ba428cf3ae fix docker service discovery #343 2022-10-08 23:10:41 +03:00
Jason Fischer
c533966050
Merge branch 'main' into configurable-widget-fields 2022-09-29 21:15:56 -07:00
Jason Fischer
9b7d6b196f
Allow widget field visibility to be configurable 2022-09-29 21:15:25 -07:00
Ben Phelps
dadd501843 fix case with empty bookmarks and widgets 2022-09-29 11:40:09 +03:00
Ben Phelps
a10a30a22c fix some error edge cases 2022-09-28 22:40:54 +03:00
Ben Phelps
4386999c38 further restructuring 2022-09-26 15:25:10 +03:00
Ben Phelps
e1a3a82f75 utils cleanup, initial static generation 2022-09-26 12:04:37 +03:00