Compare commits

...

1000 Commits

Author SHA1 Message Date
github-actions[bot]
0af975b3d9 New Crowdin translations by GitHub Action (#3096)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-03-24 00:09:15 -07:00
shamoon
01a2495e47 Fix: correctly handle direct tab navigation with encoded chars (#3172) 2024-03-23 23:22:27 -07:00
SunnyCloudy
e4b4eba445 Fix: Glances widget display (#3164)
Co-Authored-By: shamoon <4887959+shamoon@users.noreply.github.com>
2024-03-23 23:21:02 -07:00
Dawud
885b2624a8 Enhancement: support Jackett widget with admin password (#3097) (#3165)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-03-23 01:34:07 -07:00
Joseph M
f06214a295 Documentation: note that "issue" permissions are also required for Gitea widget (#3157) 2024-03-21 11:59:31 -07:00
zmweske
7627f9c5a7 Documentation: add info re pfSense API token auth (#3145) 2024-03-20 13:21:56 -07:00
she11sh0cked
556450c8de Fix: log error when getting services from Docker server fails (#3147) 2024-03-20 07:26:11 -07:00
Lukas H
edc38c93e2 Documentation: fix minor typo (#3136) 2024-03-18 15:56:04 -07:00
shamoon
b9e1a514cb Update settings.md 2024-03-17 08:06:49 -07:00
shamoon
7e0fbed06b Remove commented out code 2024-03-15 07:23:19 -07:00
Rob Gonnella
358633638f Documentation: Adds sticky cookie note for k8s multiple replica setups (#3120) 2024-03-14 21:07:35 -07:00
shamoon
fa1d343f2a Documentation: add optional auth to whatsupdocker documentation
Co-Authored-By: zmweske <31971632+zmweske@users.noreply.github.com>
2024-03-14 21:07:35 -07:00
RoboMagus
247f73f0db Fix: Add alternative 'offline' status to EspHome widget (#3107) 2024-03-11 07:06:27 -07:00
shamoon
54db9ac551 Fix: field parsing fails with docker labels (#3101) 2024-03-10 22:27:38 -07:00
github-actions[bot]
c89c4884b6 New Crowdin translations by GitHub Action (#2708)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-03-10 14:20:36 -07:00
Christian DeLuca
2d5f93668a Feature: Add Homebox widget (#3095)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-03-10 13:24:13 -07:00
Ben Phelps
b5258c5200 Enhancement: Add formatting options to weather widgets (#3093) 2024-03-09 22:52:57 -08:00
shamoon
83d1ea5ec4 Update bug_report.yml 2024-03-08 19:44:12 -08:00
sgrtye
a660b42095 Fix: truncate long process names in glances widget (#3079) 2024-03-08 19:13:36 -08:00
Jon Seager
8b029ac11c Enhancement: support LOG_TARGETS environment variable (#3075) 2024-03-08 19:13:36 -08:00
shamoon
9caede1cc3 Change: default merge pihole blocked fields (#3065) 2024-03-08 19:13:36 -08:00
teffalump
b05b9b1420 Feature: Add tandoor widget (#3060)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-03-08 19:13:36 -08:00
RoboMagus
8e9920a9d8 Feature: ESPHome widget (#2986)
Co-Authored-By: RoboMagus <68224306+RoboMagus@users.noreply.github.com>

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-03-08 19:13:36 -08:00
shamoon
4d68f55dfa Fix: omada widget missing switches field, enforce default and max fields (#3047) 2024-03-08 19:13:36 -08:00
dependabot[bot]
89fe819681 Chore(deps): Bump recharts from 2.12.1 to 2.12.2 (#3043)
Bumps [recharts](https://github.com/recharts/recharts) from 2.12.1 to 2.12.2.
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v2.12.1...v2.12.2)

---
updated-dependencies:
- dependency-name: recharts
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-08 19:13:36 -08:00
dependabot[bot]
bb311ce1a0 Chore(deps-dev): Bump prettier from 3.2.4 to 3.2.5 (#3042)
Bumps [prettier](https://github.com/prettier/prettier) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-08 19:13:36 -08:00
shamoon
fc1bf53f8f Fix: info widget gaps (#3038) 2024-03-08 19:13:36 -08:00
shamoon
70f0eb3af6 Minor status refactoring 2024-03-08 19:13:36 -08:00
RoboMagus
5892d7407c Fix: docker status labels colors (#3028)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-29 07:34:26 -08:00
russkinz
f0910a9e8b Documentation: fix openwrt docs (#3016)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-28 12:32:27 -08:00
shamoon
e92ccc30ba Fix: only log errors directly if exist 2024-02-28 11:44:32 -08:00
shamoon
68e4b98ddb Fix: support cyrillic characters in quicklaunch (#3020) 2024-02-28 01:46:06 -08:00
shamoon
abce57379d Documentation: fix repository typo (#3013) 2024-02-27 00:32:05 -08:00
dependabot[bot]
da57b2779a Chore(deps): Bump recharts from 2.11.0 to 2.12.1 (#3002)
Bumps [recharts](https://github.com/recharts/recharts) from 2.11.0 to 2.12.1.
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v2.11...v2.12.1)

---
updated-dependencies:
- dependency-name: recharts
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-24 15:31:40 -08:00
dependabot[bot]
708a67ad03 Chore(deps-dev): Bump postcss from 8.4.33 to 8.4.35 (#3001)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.33 to 8.4.35.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.33...8.4.35)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-24 15:30:56 -08:00
dependabot[bot]
b07221b8e9 Chore(deps-dev): Bump eslint from 8.56.0 to 8.57.0 (#3000)
Bumps [eslint](https://github.com/eslint/eslint) from 8.56.0 to 8.57.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-24 15:30:40 -08:00
dependabot[bot]
c5876f22fe Chore(deps): Bump systeminformation from 5.21.24 to 5.22.0 (#2999)
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.21.24 to 5.22.0.
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.21.24...v5.22.0)

---
updated-dependencies:
- dependency-name: systeminformation
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-24 15:30:03 -08:00
flightcode
000d06aa04 Documentation: Fix link in Home Assistant service widget docs (#2994) 2024-02-24 15:26:05 -08:00
shamoon
5a19640c83 Move to discussion-first issues 2024-02-24 15:26:05 -08:00
shamoon
1893c9b8da Fix: Google search suggestions with accented characters (#2993) 2024-02-24 15:26:05 -08:00
shamoon
67d99a5512 Change: use byterate for Sabnzbd (#2990) 2024-02-24 15:26:05 -08:00
Zerebos
8157b03380 Feature: stash widget (#2238) (#2984) 2024-02-24 15:26:05 -08:00
RoboMagus
45a9e2a6da Documentation: fix plant-it docs (#2987)
* Fix plant-it docs

* Run pre-commit

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-24 15:26:05 -08:00
shamoon
fce694e2b9 Feature: add gitea widget (#2968) 2024-02-24 15:26:05 -08:00
shamoon
291bf422f9 Enhancement: support different bytes multipliers for disk space for resources / glances and metrics widgets (#2966) 2024-02-24 15:26:05 -08:00
shamoon
3fae59c2bd Add read-only note for development 2024-02-24 15:26:05 -08:00
Massimiliano De Luise
619f365c92 Feature: Plant-it widget (#2941) 2024-02-19 17:54:28 -08:00
shamoon
841c74d58a Add info re automatic closing 2024-02-19 06:09:07 -08:00
Steven de Jong
b0dd810b49 Enhancement: allow api auth with moonraker service (#2934)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-18 14:14:23 -08:00
shamoon
36585a2c44 Close unsupported feature requests 2024-02-17 21:56:31 -08:00
Derek Stotz
c268739e1f Enhancement: Add requestBody param for customapi (#2921) 2024-02-16 20:25:31 -08:00
Derek Stotz
0d47dcaac7 Enhancement: Add enablePools option to TrueNAS service widget (#2908)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-15 21:38:55 -08:00
Benedek Kozma
a251c34059 Change: move custom.css linking to head to avoid FOUC (#2916)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-15 15:52:59 -08:00
sgrtye
4dca4cc892 Feature: Add list view for custom api (#2891)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-14 23:18:37 -08:00
Benedek Kozma
ea0310548a Change: use Script component instead of async script for custom.js (#2901) 2024-02-13 16:42:50 -08:00
shamoon
87d1ea4f2e Update services.md 2024-02-13 10:54:34 -08:00
shamoon
35af27f209 Update ical.jsx 2024-02-10 21:37:59 -08:00
SASAGAWA Kiyoshi
1c529c0e7d Fix: iCal integration fails with all-day events (#2883)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-10 12:30:37 -08:00
Florian Hye
187291eeca Chore: add Python requirements and prettier to devcontaier (#2878) 2024-02-09 11:46:56 -08:00
Lawton Manning
eda5b0f0cf Fix: healthchecks widget does not respect fields parameter (#2875) 2024-02-09 11:28:13 -08:00
Florian Hye
3b76772f81 Fix: search opens when losing focus, prevent unnecessary search API calls (#2867)
Co-Authored-By: shamoon <4887959+shamoon@users.noreply.github.com>
2024-02-09 11:28:13 -08:00
Florian Hye
3955743590 Enhancement: initially collapsed option for layout groups 2024-02-08 10:11:35 -08:00
dependabot[bot]
74a52d9288 Chore(deps): Bump pre-commit/action from 3.0.0 to 3.0.1 (#2854)
Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pre-commit/action/releases)
- [Commits](https://github.com/pre-commit/action/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: pre-commit/action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-07 09:34:21 -08:00
shamoon
fc7ce0a253 Update CONTRIBUTING.md 2024-02-06 08:36:01 -08:00
shamoon
ea6192e8c6 Fix: Increase icon z-index (#2842) 2024-02-06 07:11:17 -08:00
shamoon
8eb61ef9ff Unifi widget: Show a more helpful error if specified site not found (#2839) 2024-02-05 14:46:17 -08:00
shamoon
259d0f1bb9 Update repo-maintenance.yml 2024-02-05 11:21:31 -08:00
shamoon
868335fa4f Add repo maintenance workflow 2024-02-05 01:34:27 -08:00
しぐれ
888349bd64 Documentation: fix abandoned PiAlert repo (#2819) 2024-02-02 07:22:21 -08:00
dependabot[bot]
b9b9fb04aa Chore(deps-dev): Bump tailwind-scrollbar from 2.1.0 to 3.0.5 (#2813)
Bumps [tailwind-scrollbar](https://github.com/adoxography/tailwind-scrollbar) from 2.1.0 to 3.0.5.
- [Release notes](https://github.com/adoxography/tailwind-scrollbar/releases)
- [Commits](https://github.com/adoxography/tailwind-scrollbar/compare/v2.1.0...v3.0.5)

---
updated-dependencies:
- dependency-name: tailwind-scrollbar
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 17:36:55 -08:00
shamoon
4af2f9c229 Revert "Chore(deps): Bump react-i18next from 11.18.6 to 12.3.1 (#2810)"
This reverts commit bdbc3cb0ba.
2024-02-01 17:36:15 -08:00
dependabot[bot]
1a724732c8 Chore(deps): Bump dockerode from 3.3.5 to 4.0.2 (#2812)
Bumps [dockerode](https://github.com/apocas/dockerode) from 3.3.5 to 4.0.2.
- [Release notes](https://github.com/apocas/dockerode/releases)
- [Commits](https://github.com/apocas/dockerode/compare/v3.3.5...v4.0.2)

---
updated-dependencies:
- dependency-name: dockerode
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 11:43:08 -08:00
dependabot[bot]
bdbc3cb0ba Chore(deps): Bump react-i18next from 11.18.6 to 12.3.1 (#2810)
Bumps [react-i18next](https://github.com/i18next/react-i18next) from 11.18.6 to 12.3.1.
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v11.18.6...v12.3.1)

---
updated-dependencies:
- dependency-name: react-i18next
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 11:31:47 -08:00
Jack Bailey
6c741c620c Fix: Format Immich totals (#2814) 2024-02-01 09:38:47 -08:00
dependabot[bot]
ee38b7c757 Chore(deps): Bump compare-versions from 5.0.3 to 6.1.0 (#2809)
Bumps [compare-versions](https://github.com/omichelsen/compare-versions) from 5.0.3 to 6.1.0.
- [Changelog](https://github.com/omichelsen/compare-versions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omichelsen/compare-versions/compare/v5.0.3...v6.1.0)

---
updated-dependencies:
- dependency-name: compare-versions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 09:38:20 -08:00
shamoon
64ac19859c Fix quicklaunch failing to load without search provider 2024-02-01 01:32:47 -08:00
shamoon
20d1d8f914 Update packages, add dependabot for npm (#2803) 2024-02-01 01:05:02 -08:00
shamoon
ef39fce1de Update FUNDING.yml 2024-02-01 00:53:40 -08:00
shamoon
1ddd528bd7 Fix quick launch not opening with accented characters, decoding of characters in suggestions (#2802) 2024-02-01 00:42:22 -08:00
shamoon
578def33f5 Update quicklaunch.jsx 2024-01-31 23:44:12 -08:00
shamoon
e652d8faa4 Fix some quicklaunch size quirks 2024-01-31 23:41:48 -08:00
René-Marc Simard
61ae891a1e Documentation: specify role requirement in Kavita documentation (#2798) 2024-01-31 19:27:34 -08:00
Florian Hye
d5af7eda63 Feature: search suggestions for search and quick launch (#2775)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-01-31 17:17:42 -08:00
shamoon
f0635db51d Add API key to jackett 2024-01-30 21:26:04 -08:00
NotSimone
aa882f9574 Documentation: fix gluetun typo (#2787) 2024-01-29 16:55:16 -08:00
Dan Geraghty
86740c6d7b Feature: OpenWRT service widget (#2782)
* Feat: OpenWRT widget implementation

* Update proxy.js

* fixes from review

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-01-29 12:33:31 -08:00
shamoon
d20cdbb9ab Update troubleshooting.md 2024-01-27 23:51:43 -08:00
shamoon
98af4ffaa3 Update troubleshooting.md 2024-01-27 23:50:36 -08:00
shamoon
0b475797da Update README.md 2024-01-27 23:46:39 -08:00
shamoon
fe1928870b Move to discussions 2024-01-27 23:38:56 -08:00
shamoon
98499cdf69 Add missing unifi fields
Co-Authored-By: JeffRandall <1891490+JeffRandall@users.noreply.github.com>
2024-01-27 15:25:34 -08:00
shamoon
7230b622a3 Update FUNDING.yml 2024-01-26 21:52:26 -08:00
JeffRandall
05a7c0ff56 Enhancement: extend hdhomerun widget (#2757) 2024-01-26 10:57:08 -08:00
shamoon
23e697ed4a Fix romm widget name
Closes #2762
2024-01-26 09:12:56 -08:00
shamoon
99e1e3de3b Fix: iCal integration use event data hash instead of uid (#2758) 2024-01-26 01:14:43 -08:00
shamoon
a6e4786fc4 Update FUNDING.yml 2024-01-25 17:03:41 -08:00
shamoon
b74cad806b Update FUNDING.yml 2024-01-25 17:02:53 -08:00
shamoon
a01f60ec25 Make service links less weird 2024-01-24 14:27:47 -08:00
shamoon
89f4862545 Update development.md 2024-01-24 01:04:43 -08:00
Tharic99
5d550b8597 Documentation: add project links to service widget docs (#2737) 2024-01-22 10:26:15 -08:00
Arden Rasmussen
e803c3bf16 Feature: Added gatus uptime widget (#2729) 2024-01-21 21:22:19 -08:00
shamoon
58fa63f7cb Update FUNDING.yml 2024-01-21 20:54:09 -08:00
shamoon
a4657037c6 Documentation: Fix netdata docs 2024-01-21 01:03:05 -08:00
shamoon
cd29cbbdce Fix broken docker service discovery in 0.8.5 (#2717) 2024-01-20 22:12:30 -08:00
Mark Lavi
44b161799b Documentation: improve bookmarks documentation and working examples (#2713) 2024-01-20 18:35:54 -08:00
stephenc01
e206c86de8 Documentation: fix typo in coin-market-cap widget docs (#2711) 2024-01-20 15:52:46 -08:00
shamoon
71b919bbe2 Documentation: Add username / pw to romm widget 2024-01-20 10:02:45 -08:00
github-actions[bot]
8684292d02 New Crowdin translations by GitHub Action (#2534)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-01-20 00:16:55 -08:00
shamoon
cca747c0fe Fix: Calendar widget iCal integration catch RRule failures (#2706) 2024-01-20 00:15:45 -08:00
Karl0ss
f6ca3f57f7 Feature: Romm Widget (#2663)
---------

Co-authored-by: Karl Hudgell <karl.hudgell@bjss.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-01-19 23:36:44 -08:00
Gianfranco
0cdc354ead Documentation: add info for obtaining immich API keys (#2703) 2024-01-19 20:07:55 -08:00
Luke Hagar
a24b5d2fd1 Fix: remove date time load delay (#2675) 2024-01-18 14:58:42 -08:00
Mitchell
7f621ed518 Feature: Netdata service widget (#2672) 2024-01-17 16:01:20 -08:00
Denis Papec
72efd9a08d Fix: calendar timezone performance improvements (#2668) 2024-01-17 15:00:51 -08:00
shamoon
93dc6db4ef Remove mkdocs-material insiders 2024-01-17 09:35:05 -08:00
0phoff
7837864841 Enhancement: locale option for date & relativeDate format (#2658) 2024-01-17 09:23:11 -08:00
dependabot[bot]
641eb25047 Chore(deps): Bump actions/cache from 3 to 4 (#2662)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 09:09:28 -08:00
shamoon
1f905bc241 Fix: constrain usage bar to 0-100 (#2650) 2024-01-16 16:07:20 -08:00
shamoon
d61d0eb88f Fix configured service weight = 0 (#2628) 2024-01-15 06:30:46 -08:00
Denis Papec
1f2081af5d Add option to specify a timezone for events (#2623)
* Add option to specify a timezone for events

* Amend message, update docs
2024-01-14 18:01:10 -08:00
Denis Papec
674d7f2e01 Fix for events repeating on mothly basis and old events that are shown as occuring today (#2624) 2024-01-14 13:49:28 -08:00
shamoon
9984e7894f Fix lint error for service anchors 2024-01-10 14:26:40 -08:00
shamoon
66a1368aa3 Fix: sort ical events in monthly view (#2604) 2024-01-10 14:24:38 -08:00
shamoon
8f121d675c Fix custom API docker labels example 2024-01-10 11:16:48 -08:00
Metin Yazici
1103df2b64 Feature: support multiple checks for healthchecks widget (#2580)
* Change healthchecks online/offline with the original up/down

* Add group statistics to healthcheck widget

* Update healthchecks docs

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-01-07 09:17:07 -08:00
shamoon
50c989e36a Fix: unique element key generation in quicklaunch and services (#2586) 2024-01-06 09:22:25 -08:00
shamoon
1c47d9d70e Fix: pass user/pass as strings with OMV proxy (#2555) 2023-12-31 20:18:17 -08:00
shamoon
aa7cfa58ff Better handle malformed docker labels (#2552) 2023-12-31 10:48:10 -08:00
Brandon McFarlin
ccad62b5c2 Fix: Peanut widget v2 api compatibility (#2526) 2023-12-27 07:29:27 -08:00
github-actions[bot]
32f28d32dd New Crowdin translations by GitHub Action (#2455)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-12-26 20:22:43 -08:00
myztillx
59ccc3a215 Added Option for Grafana Alertmanager (#2498)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-26 20:21:57 -08:00
William
4d6754e4a7 Chore: bump react-icons to 4.12.0 (#2507) 2023-12-22 07:38:58 -08:00
shamoon
e0886ef715 Revert "Remove groups plugin for now"
This reverts commit afd49d5327.
2023-12-18 08:13:45 -08:00
HaveAGitGat
b9f1ddd284 Fix: Tdarr widget should use viewable count if exists (#2492) 2023-12-18 00:39:30 -08:00
shamoon
afd49d5327 Remove groups plugin for now 2023-12-17 11:51:06 -08:00
shamoon
c3e0627d62 Try updating mike, changing docs action cache_id 2023-12-17 11:28:53 -08:00
Atropos
eea20defb1 Enhancement: support instanceName filtering for kubernetes deployment (#2488)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-17 10:55:40 -08:00
shamoon
30e4a2ae3a Include truenas in uptime refactor 2023-12-15 14:12:14 -08:00
shamoon
e768b1c83a Unify uptime formatting (#2483) 2023-12-15 14:08:37 -08:00
Thorben
24e25e8953 Enhancement: fritzbox uptime display (#2481) 2023-12-15 13:33:29 -08:00
Sean Kelly
aeaf36e0cf Fix changedetection diffs only showing up when it was the first time they were checked (#2479) 2023-12-14 19:07:52 -08:00
CosminPerRam
3bddfdfe3b Chore: update gamedig dep to 4.3.0 (#2474) 2023-12-11 14:11:44 -08:00
shamoon
15a12763f8 Fix: calendar widget radarr integration API params invalid (#2470) 2023-12-11 08:41:45 -08:00
shamoon
25767ba3c7 Fix: moonraker widget error when not printing (#2468) 2023-12-11 07:32:40 -08:00
Alice Lee
bd6f24d82a Documentation: Fix link to widgets page in docs (#2466) 2023-12-11 07:10:46 -08:00
Thorben
d38b313177 Fix: fritzbox error when response contains empty values (#2463) 2023-12-10 12:21:53 -08:00
Brandon McFarlin
bccd73fe2d Feature: Add peaNUT Widget (#2450)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-10 09:56:35 -08:00
Denis Papec
a72ccb6d27 Fix: show recurring and multi-day events (#2451) 2023-12-10 07:19:43 -08:00
Thorben
0a3d552114 Fix typo in fritzbox documentation (#2457) 2023-12-10 07:06:52 -08:00
github-actions[bot]
44b7de794b New Crowdin translations by GitHub Action (#2423)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-12-09 22:00:27 -08:00
shamoon
d855e2b396 Fix: Increase kubernetes cpu/mem usage scale (#2453) 2023-12-09 21:27:02 -08:00
shamoon
49281b30c2 Fix block label translation in strelaysrv widget 2023-12-06 20:54:32 -08:00
Lawton Manning
914cd71c76 Fix: remove translation on block labels in healthchecks widget (#2440) 2023-12-06 20:53:13 -08:00
José Marques
5e01eb4a8d Feature: setting for equal height cards (#2432) 2023-12-06 14:52:02 -08:00
dependabot[bot]
7edcf6b047 Bump actions/setup-python from 4 to 5 (#2435)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 09:15:14 -08:00
Thorben
0f3fc77ddf Enhancement: improve fritzbox proxy perfomance (#2429)
---------

Co-authored-by: Thorben Grove <thorben.grove@tui.de>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-05 00:44:13 -08:00
Ashley Buckingham
77ed445da1 Documentation: correct doc link in skeleton yaml (#2428) 2023-12-04 16:03:58 -08:00
shamoon
708e6fa789 Update crowdin.yml 2023-12-03 07:34:52 -08:00
shamoon
9afa40a6b7 Chore: migrate crowdin to GHA (#2421) 2023-12-03 07:33:43 -08:00
Kamil Markowicz
04ae39e144 Documentation: Update minimum calibre-web version reference (#2412)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-01 19:38:31 -08:00
Sean Kelly
a3e00e96c9 Change: changedetection.io widget dont count diff if viewed (#2401) 2023-11-29 13:06:06 -08:00
SOOROS
251881a051 Documentation: add semicolons to iframe example allow option (#2400) 2023-11-29 11:56:18 -08:00
shamoon
9112030275 Fix: quote background image URL
See #2396
2023-11-27 20:06:39 -08:00
shamoon
2f89b12f0d Revert "Fix: revert to using initialSettings in head"
This reverts commit e28faf6b98.
2023-11-27 19:04:50 -08:00
shamoon
b2a914eb2a Update guidelines 2023-11-27 08:19:13 -08:00
Thorben
4c45c6453f Feature: Fritz!Box Widget (#2387)
* Feature: Fritz!Box Widget

* Use i18n

* code style & formatting

---------

Co-authored-by: Thorben Grove <thorben.grove@tui.de>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-26 20:48:54 -08:00
shamoon
b3414fc35f Documentation: Fix services yaml file name 2023-11-26 13:24:03 -08:00
COxDE
259f0f8ce9 Documentation: fix typo in widgets file name (#2393) 2023-11-26 13:21:59 -08:00
shamoon
97218e9cea Update PULL_REQUEST_TEMPLATE.md 2023-11-26 10:03:35 -08:00
Nick
3e0054069d Change Unifi Widget "System Uptime" to "Uptime" (#2389)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-26 07:20:13 -08:00
shamoon
a3fcc3ef51 Hack reload glime styles 2023-11-25 10:48:40 -08:00
shamoon
dd5144f03a Chore: enable swc, again (#2385) 2023-11-25 10:25:24 -08:00
shamoon
90c12abf87 Revert "Chore: enable swc (#2311)"
This reverts commit 0931f5c5a6.
2023-11-25 09:29:18 -08:00
shamoon
507e72407f Add AI bot info to docs 2023-11-25 08:54:38 -08:00
Ben Phelps
5bc6730e8b New Crowdin updates (#2295) 2023-11-25 08:23:55 -08:00
shamoon
110ebe920e Documentation: Add ai bot (#2383) 2023-11-25 08:22:16 -08:00
Denis Papec
95d66707f5 Feature: Implement iCal integration for calendar, improve styling (#2376)
* Feature: Implement iCal integration, improve calendar/agenda styling

* Delete calendar.jsx

* Calendar proxy handler

* code style

* Add some basic error handling

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-25 08:17:25 -08:00
Denis Papec
518ed7fc4e Feature: Support previous days option in Calendar Agenda (#2375)
Signed-off-by: Denis Papec <denis.papec@gmail.com>
2023-11-24 20:32:38 -08:00
Denis Papec
acafbb5100 Enhancement: Improvements to calendar Radarr release logic (#2374)
Signed-off-by: Denis Papec <denis.papec@gmail.com>
2023-11-24 20:32:04 -08:00
shamoon
fb9ebf18ba Fix: show mem / cpu stats for k8s partial health status (#2378) 2023-11-24 20:29:23 -08:00
shamoon
6b35443100 Fix: dont ignore empty string for kubernetes podSelector (#2372) 2023-11-24 16:15:42 -08:00
nioKi
c2729e302d Enhancement: Add configurable refresh interval and max points for glances services (#2363)
---------

Co-authored-by: Quentin de Grandmaison <quentin.degrandmaison@7speaking.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-22 12:35:54 -08:00
Joe Stump
e98b5e2233 Documentation: Add details to Gluetun widget docs (#2357)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-21 11:41:56 -08:00
shamoon
0931f5c5a6 Chore: enable swc (#2311) 2023-11-20 19:34:56 -08:00
Timo
6d21ea9ba3 Enhancement: Add service discovery labels support for multiple homepage instances (#2340) 2023-11-20 19:27:19 -08:00
Aesop7
5bf6f30e2b Documentation: add Longhorn example (#2353) 2023-11-20 07:35:21 -08:00
shamoon
66fbe9f670 Fix: Disable override white bkgd with card blur (#2336) 2023-11-17 07:26:22 -08:00
shamoon
6316de6fa6 Fix: Lint docker stats throughput PR 2023-11-17 00:03:56 -08:00
shamoon
7f50f6cfaa Fix: sum throughput data for docker stats (#2334) 2023-11-16 23:55:04 -08:00
shamoon
c9991bc2a2 Fix: dont set pinned icon if custom favicon (#2326) 2023-11-14 22:10:37 -08:00
shamoon
e28faf6b98 Fix: revert to using initialSettings in head 2023-11-14 22:09:18 -08:00
Faqar
17b9b7e523 Enhancement: open the searchbox on paste (#2320)
* Open the searchbox when detecting Ctrl-V.

* support macOS, codestyle

---------

Co-authored-by: Joschka <kontakt@greiner-it.de>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-11-12 19:40:09 -08:00
shamoon
d5608c46c3 Dont push docker for feature builds 2023-11-11 21:46:40 -08:00
shamoon
428680b5df Run ci on feature/ branches 2023-11-11 21:42:13 -08:00
Jorge Benjumea
556cfd19b6 Documentation: fix typo (#2296) 2023-11-10 00:46:56 -08:00
Mohamed Aziz Ben Aissa
fc67e1a986 Feature: Added timeStyle to date format for custom API (#2294)
* Add timeStyle option to custom API date format

* Update documentation
2023-11-09 22:57:14 +02:00
Ben Phelps
dc8bea95ac New translations common.json (Afrikaans) (#2292) 2023-11-09 12:18:39 -08:00
Ben Phelps
2ea0e129f2 New Crowdin updates (#2218) 2023-11-09 08:09:00 -08:00
shamoon
b019295a06 Update services.md 2023-11-08 22:39:23 -08:00
shamoon
5fa790e9fe Use old mike 2023-11-08 22:26:17 -08:00
shamoon
7719ea17be Fix: handle immich v1.85.0 API stats breaking change (#2284) 2023-11-07 23:59:43 -08:00
shamoon
885a4051f3 Fix: support Unifi widget with Unifi OS v3.2.5+ (#2281) 2023-11-07 14:38:26 -08:00
Ingmar Delsink
67f5ee8df5 Fix: Access container memory_stats.stats safely by optional chaining (#2271) (#2272) 2023-11-05 07:39:26 -08:00
Reiss Cashmore
ebd384c62d Feature: iFrame widget (#2261)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-31 07:19:57 -07:00
shamoon
5512d05f00 Fix: Respect hideErrors for Calendar widget (#2259) 2023-10-29 20:14:06 -07:00
shamoon
654f16dbb5 Fix: Correct Synology DownloadStation units (#2249) 2023-10-27 14:39:57 -07:00
shamoon
bec1e5fff2 Fix: octoprint error when progress empty (#2247) 2023-10-27 09:29:36 -07:00
shamoon
1da9255578 Fix: authentik users endpoint URL (#2244) 2023-10-26 23:03:52 -07:00
shamoon
cc887214cf Fix: override some colors for white theme (#2242) 2023-10-26 21:59:18 -07:00
shamoon
98c3ca6dac Docs: Update broken links in readme
Closes #2233
2023-10-24 14:09:56 -07:00
Kirill Kuznetsov
3c4818a2b4 Feature: add date formatting option in custom api (#2228) 2023-10-23 16:54:04 -07:00
Avishek Sen
f773e026d5 docs: fix typos (#2222) 2023-10-21 11:42:37 -07:00
shamoon
3f1229555e Fix translation of no events today in calendar
See #2221
2023-10-21 07:48:17 -07:00
Denis Papec
6898faa3de Feature: Added agenda view for calendar, calendar improvements (#2216)
* Feature: Added agenda view for calendar, calendar improvements

* Fix duplicate event keys

* Additional hover on title, not date

* Show date once in list

* Rename monthly view for consistency

* Remove unneeded key props

* CSS cleanup, dont slice title to arbitrary 42 chars which can break column layouts

* Simplify agenda components

* Fix show date once in list

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-20 16:31:19 -07:00
shamoon
792f768a7f Feature: true ping, rename old ping to siteMonitor (#2215) 2023-10-20 00:09:33 -07:00
shamoon
0c8c759f8a Enable autoSelectFamily for http(s) requests (#2214) 2023-10-19 14:42:15 -07:00
shamoon
241c981444 Fix tab spacing on mobile (#2209) 2023-10-18 13:25:12 -07:00
shamoon
56349e57e5 Update development.md 2023-10-18 12:53:27 -07:00
shamoon
6763da57a6 Update CONTRIBUTING.md 2023-10-18 12:49:27 -07:00
shamoon
8ec488efbd Revert "Fix: subdirectory deployment (#2205)"
This revers commit b8eda91005
2023-10-18 11:44:26 -07:00
shamoon
9e3bc8e64f Update prettier package to v3 2023-10-18 09:49:33 -07:00
shamoon
29827b1c70 Add pre-commit to ci 2023-10-18 09:49:33 -07:00
shamoon
f48cf0dc9f Add instructions to dev docs for pre-commit 2023-10-18 09:49:33 -07:00
shamoon
19c25713c4 Run pre-commit hooks over existing codebase
Co-Authored-By: Ben Phelps <ben@phelps.io>
2023-10-18 09:49:33 -07:00
shamoon
fa50bbad9c Add pre-commit with prettier 2023-10-18 09:49:33 -07:00
Ben Phelps
8e6a169b50 New translations common.json (German) (#2208) 2023-10-18 09:00:58 -07:00
shamoon
4248db7f21 k8s: Support app ingress annotation (#2198) 2023-10-18 08:57:10 -07:00
Isidro Osoria
b8eda91005 Fix: subdirectory deployment (#2205) 2023-10-18 08:49:42 -07:00
Ben Phelps
5f7891d8db New translations common.json (French) (#2206) 2023-10-17 23:29:26 -07:00
Ben Phelps
b14abc2642 New Crowdin updates (#2144)
* New translations common.json (Dutch)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Danish)

* New translations common.json (French)

* New translations common.json (German)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Simplified)

* New translations common.json (Dutch)

* New translations common.json (Dutch)

* New translations common.json (German)

* New translations common.json (German)

* New translations common.json (German)

* New translations common.json (Spanish)

* New translations common.json (Danish)

* New translations common.json (Italian)

* New translations common.json (Dutch)

* New translations common.json (Dutch)

* New translations common.json (Japanese)

* New translations common.json (Japanese)
2023-10-17 22:55:01 -07:00
icyleaf
8ea2ccf110 Enhancement: support dot-notated field properties in docker labels (#2195) 2023-10-17 22:54:17 -07:00
shamoon
cbad95bf9c Fix dot status when exited (#2204) 2023-10-17 17:47:51 -07:00
shamoon
47db8be7bb Fix glances network calculation (#2201) 2023-10-17 13:31:02 -07:00
Preetham Kulai
2f4985b977 Enhancement: mjpeg stream widget placeholder image (#2192)
* added placeholder image on stream load error

* updated placeholder image to tv static animation

* Revert "updated placeholder image to tv static animation"

This reverts commit f0efdd8833.

* Inline animated tv static image

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-16 13:12:28 -07:00
karpaterna
8d34dc5725 Documentation: add defaultinterval option for coinmarketcap (#2191) 2023-10-15 10:09:48 -07:00
shamoon
31c33f4f32 Specify src in jsconfig 2023-10-14 12:44:37 -07:00
shamoon
ef3e98285e Fix references to podSelector in k8s manifests (#2187) 2023-10-13 19:34:19 -07:00
smoothlystable
e012ea6050 Changedetection.io: Skip checking for diff if watch never had a change (#2186)
* Only check diff in there has ever been a change

* Code style

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-13 09:02:36 -07:00
Ado Nishimura
dcc2f3e8f3 Fix: proxmox CPU/MEM NaN when cluster has offline nodes (#2185) 2023-10-13 03:49:16 -07:00
shamoon
94718db22b Fix troubleshooting indentation 2023-10-12 13:12:11 -07:00
shamoon
c591049a1a Fix glances doc image assets 2023-10-12 11:53:15 -07:00
shamoon
fd04e93d68 Update k8s deployment with specific files (#2178) 2023-10-12 08:35:08 -07:00
patopesto
29b7d5756c Fix: possible sonarr widget queue duplicates (#2171) 2023-10-09 21:05:29 -07:00
shamoon
596e5c9b84 Fix glances fs metric for disks with colon (#2170) 2023-10-09 19:43:03 -07:00
shamoon
7ea1d0dd47 Fix calculation for docker container memory usage (#2167) 2023-10-08 10:26:20 -07:00
shamoon
4a04347518 Update README.md 2023-10-08 07:22:43 -07:00
shamoon
7bbb35db13 Update README.md 2023-10-08 06:46:20 -07:00
shamoon
d1d81e5753 Fix: emby / jellyfin isVideoDirect (#2156) 2023-10-07 20:58:05 -07:00
shamoon
4c2ecb9b0e Add hdhomerun 2023-10-06 21:01:37 -07:00
Ben Phelps
1066d17f70 Update translations.md (#2142)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-06 13:16:20 +00:00
shamoon
462a8e001f Change weblate links to crowdin 2023-10-06 00:04:51 -07:00
Ben Phelps
0eab49a449 New translations common.json (Yue) (#2132) 2023-10-05 23:56:05 +00:00
shamoon
24121cd5f0 run ci on merge_group 2023-10-05 15:17:05 -07:00
Lavender Shannon
8aeded4774 Update gluetun.md (#2137)
Fixed link to control server documentation
2023-10-05 22:14:37 +00:00
Denis Papec
40522fbb96 Fix: Quicklaunch shows also services without a url (#2136)
* Fix: Quicklaunch show only services with a link

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Revert "Fix: Quicklaunch show only services with a link"

This reverts commit 30ee825611.

* Filter only bookmarks and services with href

---------

Signed-off-by: Denis Papec <denis.papec@gmail.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-10-05 22:14:25 +00:00
Ben Phelps
76cbb6e2ed Revert "New Crowdin updates (#2124)" (#2131)
This reverts commit b29c0f809c.
2023-10-05 10:02:01 -07:00
Ben Phelps
b29c0f809c New Crowdin updates (#2124) 2023-10-05 09:49:10 -07:00
shamoon
4f41be512c Include tailwind bg-black/white, greedy ping regex, adjust position 2023-10-05 09:28:43 -07:00
shamoon
b765330b4a Fix: dot visibility in some cases, translation strings (#2129) 2023-10-05 07:19:20 -07:00
Ben Phelps
ed3055ae1b Update Crowdin configuration file 2023-10-05 11:19:02 +03:00
Ben Phelps
5460f89cc9 Update Crowdin configuration file 2023-10-05 11:07:44 +03:00
Ben Phelps
29018873f5 Update Crowdin configuration file 2023-10-05 10:37:26 +03:00
Anonymous
11cacfb823 Translated using Weblate (Basque)
Currently translated at 6.2% (34 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-10-05 09:29:21 +02:00
Anonymous
eddec4adc2 Translated using Weblate (Indonesian)
Currently translated at 4.4% (24 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-10-05 09:29:21 +02:00
Anonymous
2faf51b4c0 Translated using Weblate (Slovenian)
Currently translated at 95.9% (521 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-10-05 09:29:21 +02:00
Anonymous
891c387062 Translated using Weblate (Greek)
Currently translated at 33.3% (181 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-10-05 09:29:21 +02:00
Anonymous
3b2b6cc064 Translated using Weblate (Korean)
Currently translated at 31.8% (173 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-10-05 09:29:20 +02:00
Anonymous
83a5d1b17a Translated using Weblate (Slovak)
Currently translated at 23.7% (129 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-10-05 09:29:20 +02:00
Anonymous
29b0240abd Translated using Weblate (Thai)
Currently translated at 8.8% (48 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-10-05 09:29:20 +02:00
Anonymous
8ad1f9f422 Translated using Weblate (Latvian)
Currently translated at 21.7% (118 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-10-05 09:29:20 +02:00
Anonymous
ea15a1b9e5 Translated using Weblate (Japanese)
Currently translated at 93.1% (506 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-10-05 09:29:20 +02:00
Anonymous
691ed78e75 Translated using Weblate (Ukrainian)
Currently translated at 93.1% (506 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-10-05 09:29:20 +02:00
Anonymous
5f58cb285d Translated using Weblate (Esperanto)
Currently translated at 26.7% (145 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-10-05 09:29:20 +02:00
Anonymous
a6696700b7 Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-10-05 09:29:19 +02:00
Anonymous
985ca4ae84 Translated using Weblate (Malay)
Currently translated at 46.4% (252 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-10-05 09:29:19 +02:00
Anonymous
ebda0f7b70 Translated using Weblate (Danish)
Currently translated at 95.9% (521 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-10-05 09:29:19 +02:00
Anonymous
8e7723b51d Translated using Weblate (Czech)
Currently translated at 81.7% (444 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-10-05 09:29:19 +02:00
Anonymous
24635268a0 Translated using Weblate (Arabic)
Currently translated at 48.2% (262 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-10-05 09:29:19 +02:00
Anonymous
729c161271 Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-10-05 09:29:19 +02:00
Anonymous
69af86eebe Translated using Weblate (Turkish)
Currently translated at 72.3% (393 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-10-05 09:29:18 +02:00
Anonymous
369a996f1f Translated using Weblate (Bulgarian)
Currently translated at 14.9% (81 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-10-05 09:29:18 +02:00
Anonymous
b7b63abee0 Translated using Weblate (Telugu)
Currently translated at 39.7% (216 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-10-05 09:29:18 +02:00
Anonymous
4ba47c426a Translated using Weblate (Finnish)
Currently translated at 32.5% (177 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-10-05 09:29:17 +02:00
Anonymous
29d54b032c Translated using Weblate (Yue (Traditional))
Currently translated at 21.7% (118 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-10-05 09:29:17 +02:00
Anonymous
8791aa8d0d Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.8% (461 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-10-05 09:29:17 +02:00
Anonymous
337ada148c Translated using Weblate (Romanian)
Currently translated at 28.7% (156 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-10-05 09:29:17 +02:00
Anonymous
2c8348f5b5 Translated using Weblate (Hebrew)
Currently translated at 18.6% (101 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-10-05 09:29:17 +02:00
Anonymous
0eeaa99fe3 Translated using Weblate (Hungarian)
Currently translated at 86.7% (471 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-10-05 09:29:16 +02:00
Anonymous
38d2cc7bd7 Translated using Weblate (Croatian)
Currently translated at 86.5% (470 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-10-05 09:29:16 +02:00
Anonymous
759dc9f3d2 Translated using Weblate (Swedish)
Currently translated at 24.3% (132 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-10-05 09:29:16 +02:00
Anonymous
72d9a614fd Translated using Weblate (Polish)
Currently translated at 68.8% (374 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-10-05 09:29:16 +02:00
Anonymous
3d209bf572 Translated using Weblate (Catalan)
Currently translated at 48.0% (261 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-10-05 09:29:16 +02:00
Anonymous
3268db1298 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.3% (534 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-10-05 09:29:16 +02:00
Anonymous
ab4a28d04a Translated using Weblate (Dutch)
Currently translated at 98.3% (534 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-10-05 09:29:15 +02:00
Anonymous
3c1644e18f Translated using Weblate (Vietnamese)
Currently translated at 8.2% (45 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-10-05 09:29:15 +02:00
Anonymous
e1f6ddaeab Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (81 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-10-05 09:29:15 +02:00
Anonymous
826bad8ff4 Translated using Weblate (Italian)
Currently translated at 99.4% (540 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-10-05 09:29:15 +02:00
Anonymous
8aa2bbcdd3 Translated using Weblate (Chinese (Simplified))
Currently translated at 82.8% (450 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-10-05 09:29:15 +02:00
Anonymous
aece2954df Translated using Weblate (Russian)
Currently translated at 79.1% (430 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-10-05 09:29:15 +02:00
Anonymous
5fbdbce79c Translated using Weblate (Portuguese)
Currently translated at 76.4% (415 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-10-05 09:29:14 +02:00
Anonymous
ce2bfd9d21 Translated using Weblate (French)
Currently translated at 99.6% (541 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-10-05 09:29:14 +02:00
Anonymous
df4cc6086c Translated using Weblate (Spanish)
Currently translated at 99.6% (541 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-10-05 09:29:14 +02:00
Anonymous
2c632e2b3e Translated using Weblate (German)
Currently translated at 99.0% (538 of 543 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-10-05 09:29:14 +02:00
shamoon
6de20f0ab6 Update homepage-move.md 2023-10-05 00:26:41 -07:00
shamoon
7434d597c9 Update migration docs 2023-10-05 00:22:51 -07:00
shamoon
59dbc79656 Remove deprecated notification 2023-10-04 23:55:03 -07:00
shamoon
b475f89d85 Migrate more URLs 2023-10-04 23:24:59 -07:00
shamoon
7f9ae3d01b Updating more repo URLs 2023-10-04 23:15:59 -07:00
shamoon
b12d27551a Update repo in docs 2023-10-04 23:12:53 -07:00
shamoon
3cf88d290f Merge branch 'feature-move-notification' 2023-10-04 22:47:11 -07:00
shamoon
9f030d1540 Update ping.jsx 2023-10-04 22:46:31 -07:00
shamoon
e8f6d81d13 Update ping.jsx 2023-10-04 22:37:53 -07:00
shamoon
571f627b3b Enhancement: statusStyle improvements (#2119) 2023-10-04 22:12:57 -07:00
shamoon
861ab32ca3 Update links 2023-10-03 18:55:02 -07:00
shamoon
aa5d24b9e4 Support notification re deprecated repo 2023-10-03 16:17:17 -07:00
shamoon
7adfe2ffd9 Documentation: correct ping statusStyle info 2023-10-01 01:54:06 -07:00
しぐれ
f8d2bb8611 Documentation: remove extra Service Widgets section (#2096) 2023-10-01 01:54:06 -07:00
Gino Cicatiello
892ebb8bd9 Translated using Weblate (Italian)
Currently translated at 99.8% (540 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-10-01 01:54:06 -07:00
Nonoss117
456fe6afc2 Translated using Weblate (French)
Currently translated at 100.0% (541 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-10-01 01:54:06 -07:00
Antonio Sanchez Castellón
ce3fb1abc1 Translated using Weblate (Spanish)
Currently translated at 100.0% (541 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-10-01 01:54:06 -07:00
shamoon
a1e023e240 CI: filter ci by paths, docs ci test vs build, update PR template 2023-10-01 01:54:06 -07:00
Denis Papec
56f46ae85c Enhancement: go to current day when clicking calendar month name (#2091) 2023-09-30 10:01:14 -07:00
Denis Papec
67ebe29db7 Skip workflows if it is fork (#2092)
Signed-off-by: Denis Papec <denis.papec@gmail.com>
2023-09-30 09:59:41 -07:00
Nagy László Zoltán
0c2671ea00 Update services/glances.md with correct info/glances link (#2087) 2023-09-30 07:27:12 -07:00
Ben Phelps
7a6470381b update build for insiders 2023-09-30 15:06:56 +03:00
Ben Phelps
86d3fc4fbb enable social cards, allow building docs without insiders 2023-09-30 15:06:25 +03:00
Ben Phelps
ceeb007ca0 ignore mkdocs cache 2023-09-30 14:39:51 +03:00
shamoon
87113eaac4 Add social icons to footer 2023-09-29 22:38:17 -07:00
shamoon
25cd09a117 Update .gitignore 2023-09-29 17:02:18 -07:00
Ben Phelps
c18caf9ea3 update PR template 2023-09-29 21:41:28 +03:00
Ben Phelps
c5bd85ca93 update edit url 2023-09-29 21:41:16 +03:00
Ben Phelps
c6cbde1288 add docs to readme 2023-09-29 21:41:09 +03:00
Ben Phelps
5902db9597 Create docs-publish.yml 2023-09-29 21:17:43 +03:00
Ben Phelps
47765ee05e add mkdocs 2023-09-29 21:01:11 +03:00
Ben Phelps
b215843b26 Delete CNAME 2023-09-29 17:04:27 +03:00
Ben Phelps
8575aed1eb Create CNAME 2023-09-29 17:04:22 +03:00
Ben Phelps
8893e0b1df Merge pull request #2074 from LucaDev/ping-indicators
New ping-indicator styles
2023-09-29 09:23:42 +03:00
Ben Phelps
89c5d69372 statusStyle 2023-09-29 08:00:53 +03:00
Denis Papec
605042fb38 Added config for first day in week for calendar widget (#2080) 2023-09-28 15:24:37 -07:00
Anonymous
92bef4a283 Translated using Weblate (Basque)
Currently translated at 6.2% (34 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-09-28 18:25:13 +00:00
Anonymous
362696777b Translated using Weblate (Indonesian)
Currently translated at 4.4% (24 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-09-28 18:25:12 +00:00
Anonymous
a7b9d2defb Translated using Weblate (Slovenian)
Currently translated at 96.3% (521 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-09-28 18:25:11 +00:00
Anonymous
d849b323ca Translated using Weblate (Greek)
Currently translated at 33.4% (181 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-09-28 18:25:10 +00:00
Anonymous
a65edb41fe Translated using Weblate (Korean)
Currently translated at 31.9% (173 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-09-28 18:25:10 +00:00
Anonymous
de6a5316ef Translated using Weblate (Slovak)
Currently translated at 23.8% (129 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-09-28 18:25:09 +00:00
Anonymous
ae968f8f81 Translated using Weblate (Thai)
Currently translated at 8.8% (48 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-09-28 18:25:08 +00:00
Anonymous
d555fc627d Translated using Weblate (Latvian)
Currently translated at 21.8% (118 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-09-28 18:25:08 +00:00
Anonymous
3155688e48 Translated using Weblate (Japanese)
Currently translated at 93.5% (506 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-09-28 18:25:07 +00:00
Anonymous
5a6e19ffee Translated using Weblate (Ukrainian)
Currently translated at 93.5% (506 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-09-28 18:25:06 +00:00
Anonymous
ba16ad530e Translated using Weblate (Esperanto)
Currently translated at 26.8% (145 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-09-28 18:25:06 +00:00
Anonymous
a3a49406c6 Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-09-28 18:25:05 +00:00
Anonymous
3c13855139 Translated using Weblate (Malay)
Currently translated at 46.5% (252 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-09-28 18:25:04 +00:00
Anonymous
133368a5c4 Translated using Weblate (Danish)
Currently translated at 96.3% (521 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-09-28 18:25:04 +00:00
Anonymous
74c2594a21 Translated using Weblate (Czech)
Currently translated at 82.0% (444 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-09-28 18:25:03 +00:00
Anonymous
57265d85e6 Translated using Weblate (Arabic)
Currently translated at 48.4% (262 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-09-28 18:25:02 +00:00
Anonymous
169708c98e Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-09-28 18:25:02 +00:00
Anonymous
a64b04d0cd Translated using Weblate (Turkish)
Currently translated at 72.6% (393 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-09-28 18:25:01 +00:00
Anonymous
7a091af69b Translated using Weblate (Bulgarian)
Currently translated at 14.9% (81 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-09-28 18:25:00 +00:00
Anonymous
5b0088870d Translated using Weblate (Telugu)
Currently translated at 39.9% (216 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-09-28 18:25:00 +00:00
Anonymous
32d9654024 Translated using Weblate (Finnish)
Currently translated at 32.7% (177 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-09-28 18:24:59 +00:00
Anonymous
41f6343857 Translated using Weblate (Yue (Traditional))
Currently translated at 21.8% (118 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-09-28 18:24:58 +00:00
Anonymous
7d99eaea33 Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.2% (461 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-09-28 18:24:58 +00:00
Anonymous
96d6d5c88e Translated using Weblate (Romanian)
Currently translated at 28.8% (156 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-09-28 18:24:57 +00:00
Anonymous
6b4284af64 Translated using Weblate (Hebrew)
Currently translated at 18.6% (101 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-09-28 18:24:56 +00:00
Anonymous
dc2890489b Translated using Weblate (Hungarian)
Currently translated at 87.0% (471 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-09-28 18:24:56 +00:00
Anonymous
c88017d9d1 Translated using Weblate (Croatian)
Currently translated at 86.8% (470 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-09-28 18:24:55 +00:00
Anonymous
b0846c2ff8 Translated using Weblate (Swedish)
Currently translated at 24.3% (132 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-09-28 18:24:54 +00:00
Anonymous
f4e409b6c8 Translated using Weblate (Polish)
Currently translated at 69.1% (374 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-09-28 18:24:54 +00:00
Anonymous
bda97987b4 Translated using Weblate (Catalan)
Currently translated at 48.2% (261 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-09-28 18:24:53 +00:00
Anonymous
3e6832d0f7 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.7% (534 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-09-28 18:24:52 +00:00
Anonymous
5004d50f29 Translated using Weblate (Dutch)
Currently translated at 98.7% (534 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-28 18:24:52 +00:00
Anonymous
bcc264d370 Translated using Weblate (Vietnamese)
Currently translated at 8.3% (45 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-09-28 18:24:51 +00:00
Anonymous
6aac73b91e Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (81 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-09-28 18:24:50 +00:00
Anonymous
c77303b620 Translated using Weblate (Italian)
Currently translated at 98.7% (534 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-28 18:24:50 +00:00
Anonymous
15a33f355a Translated using Weblate (Chinese (Simplified))
Currently translated at 83.1% (450 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-09-28 18:24:49 +00:00
Anonymous
f5899f08a1 Translated using Weblate (Russian)
Currently translated at 79.4% (430 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-09-28 18:24:48 +00:00
Anonymous
4551bc72ed Translated using Weblate (Portuguese)
Currently translated at 76.7% (415 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-09-28 18:24:48 +00:00
Anonymous
c62c3dacfd Translated using Weblate (French)
Currently translated at 99.4% (538 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-09-28 18:24:47 +00:00
Anonymous
bbfa82f9e6 Translated using Weblate (Spanish)
Currently translated at 99.4% (538 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-28 18:24:46 +00:00
Anonymous
b6ba180ea6 Translated using Weblate (German)
Currently translated at 99.4% (538 of 541 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-28 18:24:46 +00:00
Denis Papec
4cd4103edf Feature: calendar widget (#2077)
* Implemented calendar

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Added lidarr events to calendar

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Added radarr events to calendar

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Added readarr events to calendar

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* Added sonarr events to calendar

Signed-off-by: Denis Papec <denis.papec@gmail.com>

* fix sonarr series title

* integrations

* fix bad setstate call

* handle user sets includeSeries: false for sonarr

* Translate radarr release strings

* Support all widths

* readarr get author

* Finished first day in week config

Signed-off-by: Denis Papec <denis.papec@gmail.com>

---------

Signed-off-by: Denis Papec <denis.papec@gmail.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-09-28 11:23:44 -07:00
Luca Kröger
12e6b3dabb fix textsize bug 2023-09-28 09:34:55 +02:00
Nonoss117
855f12e4c1 Translated using Weblate (French)
Currently translated at 100.0% (538 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-09-27 22:59:35 +02:00
gallegonovato
9e3aa4257f Translated using Weblate (Spanish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-27 22:59:35 +02:00
Luca Kröger
aad51d1ea9 Translated using Weblate (German)
Currently translated at 100.0% (538 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-27 22:59:35 +02:00
Luca Kröger
2df5baac9d new dot styling 2023-09-27 22:07:38 +02:00
Ben Phelps
d63cf6c7a9 Update README.md 2023-09-27 22:54:22 +03:00
Luca Kröger
24825f90ea fix some linter errors 2023-09-27 13:31:39 +02:00
Luca Kröger
58c7fb15ea add ping indicator style setting 2023-09-27 13:24:10 +02:00
shamoon
68ff9a94fc Update bug_report.yml 2023-09-26 13:49:52 -07:00
shamoon
7673d86520 Update bug_report.yml 2023-09-26 13:47:35 -07:00
Anonymous
91c29fefbb Translated using Weblate (Basque)
Currently translated at 6.3% (34 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-09-26 22:03:20 +02:00
Anonymous
c2d699ef2c Translated using Weblate (Indonesian)
Currently translated at 4.4% (24 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-09-26 22:03:20 +02:00
Anonymous
cc697f2370 Translated using Weblate (Slovenian)
Currently translated at 96.8% (521 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-09-26 22:03:20 +02:00
Anonymous
1be01f0a7e Translated using Weblate (Greek)
Currently translated at 33.6% (181 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-09-26 22:03:20 +02:00
Anonymous
d3d29a76d2 Translated using Weblate (Korean)
Currently translated at 32.1% (173 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-09-26 22:03:20 +02:00
Anonymous
7fa630a42e Translated using Weblate (Slovak)
Currently translated at 23.9% (129 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-09-26 22:03:20 +02:00
Anonymous
0f9314ebc5 Translated using Weblate (Thai)
Currently translated at 8.9% (48 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-09-26 22:03:20 +02:00
Anonymous
219ebb8824 Translated using Weblate (Latvian)
Currently translated at 21.9% (118 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-09-26 22:03:20 +02:00
Anonymous
be9aac4bbd Translated using Weblate (Japanese)
Currently translated at 94.0% (506 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-09-26 22:03:20 +02:00
Anonymous
d2b8376c79 Translated using Weblate (Ukrainian)
Currently translated at 94.0% (506 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-09-26 22:03:20 +02:00
Anonymous
6d73550a67 Translated using Weblate (Esperanto)
Currently translated at 26.9% (145 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-09-26 22:03:20 +02:00
Anonymous
a27199b01c Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-09-26 22:03:19 +02:00
Anonymous
6ea80684cd Translated using Weblate (Malay)
Currently translated at 46.8% (252 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-09-26 22:03:19 +02:00
Anonymous
cb0df068f9 Translated using Weblate (Danish)
Currently translated at 96.8% (521 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-09-26 22:03:19 +02:00
Anonymous
bae131a8ae Translated using Weblate (Czech)
Currently translated at 82.5% (444 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-09-26 22:03:19 +02:00
Anonymous
17678b7e0a Translated using Weblate (Arabic)
Currently translated at 48.6% (262 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-09-26 22:03:19 +02:00
Anonymous
296d2e71ce Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-09-26 22:03:19 +02:00
Anonymous
07535eadb0 Translated using Weblate (Turkish)
Currently translated at 73.0% (393 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-09-26 22:03:19 +02:00
Anonymous
72deda0b9b Translated using Weblate (Bulgarian)
Currently translated at 15.0% (81 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-09-26 22:03:19 +02:00
Anonymous
88ecab787d Translated using Weblate (Telugu)
Currently translated at 40.1% (216 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-09-26 22:03:19 +02:00
Anonymous
2374910996 Translated using Weblate (Finnish)
Currently translated at 32.8% (177 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-09-26 22:03:19 +02:00
Anonymous
a280b7d888 Translated using Weblate (Yue (Traditional))
Currently translated at 21.9% (118 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-09-26 22:03:18 +02:00
Anonymous
0f0774f2ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 85.6% (461 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-09-26 22:03:18 +02:00
Anonymous
15c359947c Translated using Weblate (Romanian)
Currently translated at 28.9% (156 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-09-26 22:03:18 +02:00
Anonymous
fd5ee56540 Translated using Weblate (Hebrew)
Currently translated at 18.7% (101 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-09-26 22:03:18 +02:00
Anonymous
ac64576514 Translated using Weblate (Hungarian)
Currently translated at 87.5% (471 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-09-26 22:03:18 +02:00
Anonymous
23c6955156 Translated using Weblate (Croatian)
Currently translated at 87.3% (470 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-09-26 22:03:18 +02:00
Anonymous
b421076f52 Translated using Weblate (Swedish)
Currently translated at 24.5% (132 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-09-26 22:03:18 +02:00
Anonymous
486ea869b6 Translated using Weblate (Polish)
Currently translated at 69.5% (374 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-09-26 22:03:18 +02:00
Anonymous
93eec4e882 Translated using Weblate (Catalan)
Currently translated at 48.5% (261 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-09-26 22:03:18 +02:00
Anonymous
623f4fcd52 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-09-26 22:03:17 +02:00
Anonymous
7dd6df88cf Translated using Weblate (Dutch)
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-26 22:03:17 +02:00
Anonymous
459cce1753 Translated using Weblate (Vietnamese)
Currently translated at 8.3% (45 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-09-26 22:03:17 +02:00
Anonymous
c545d0cd15 Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.0% (81 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-09-26 22:03:17 +02:00
Anonymous
a8b211b5d6 Translated using Weblate (Italian)
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-26 22:03:17 +02:00
Anonymous
dd85de22bd Translated using Weblate (Chinese (Simplified))
Currently translated at 83.6% (450 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-09-26 22:03:17 +02:00
Anonymous
6351ab55d2 Translated using Weblate (Russian)
Currently translated at 79.9% (430 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-09-26 22:03:17 +02:00
Anonymous
5022e7fd6c Translated using Weblate (Portuguese)
Currently translated at 77.1% (415 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-09-26 22:03:17 +02:00
Anonymous
cd2d9d4e24 Translated using Weblate (French)
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-09-26 22:03:16 +02:00
Anonymous
b4df29de7c Translated using Weblate (Spanish)
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-26 22:03:16 +02:00
Anonymous
77edfa717e Translated using Weblate (German)
Currently translated at 99.2% (534 of 538 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-26 22:03:16 +02:00
Gino Cicatiello
d75df5efc2 Translated using Weblate (Italian)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-26 22:02:44 +02:00
Luca Kröger
64e8245542 Add OpenDTU Widget (#2069)
* add opendtu widget

* optimize widget

* Revert de translation files

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-09-26 13:02:41 -07:00
Batuhan Şanlı
588429c868 Feature: Added detect octoprint offline printer (#2068) 2023-09-26 03:25:11 -07:00
Juan Manuel Bennàssar Carretero
024b912467 Fix: add maximumFractionDigits to Glances memory (#2065) 2023-09-25 07:13:54 -07:00
shamoon
6483b10eba Check for empty resources disk data
Closes #2056
2023-09-24 08:31:15 -07:00
shamoon
63a47b1ad2 Fix: collapsing group should not prevent resize / stats (#2053) 2023-09-22 19:19:30 -07:00
Juan Manuel Bennàssar Carretero
770dabdf1c Fix: add maximumFractionDigits to Glances free fs (#2048) 2023-09-22 00:41:45 -07:00
shamoon
6b8c02cf2a Fix quicklaunch should only open for text keys (#2044) 2023-09-21 11:30:47 -07:00
Chun Chi Hsieh
46477dac0c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-09-21 16:20:59 +02:00
Thierry Goettelmann
2730fef54c Enhancement: add bookmarks description option (#2034) 2023-09-20 07:05:06 -07:00
avb15621
3534a8be35 Translated using Weblate (Dutch)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-20 10:01:44 +02:00
Juan Manuel Bennàssar Carretero
6761b38591 Translated using Weblate (Spanish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-20 10:01:43 +02:00
Tobias Alwast
06ee3095a1 Translated using Weblate (German)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-20 10:01:43 +02:00
shamoon
6fee70ec45 Fix jdownloader remaining after download complete (#2032) 2023-09-19 23:28:20 -07:00
shamoon
d4a39299c5 Fix k8s traefikingresslist detection (#2030) 2023-09-19 15:00:22 -07:00
shamoon
7d2bfa2d84 Update index.jsx 2023-09-19 14:10:19 -07:00
shamoon
c094bd3d83 Update service-helpers.js 2023-09-19 13:12:03 -07:00
Daniel Li
69ee459e8a Fix: SMART result of OMV should always from monitored devices (#2025) 2023-09-19 08:46:16 -07:00
shamoon
ed0527a3da Fix custom.js not working (#2023) 2023-09-18 21:41:31 -07:00
shamoon
04a1c68ba0 Fix k3d memory specification 2023-09-18 14:35:42 -07:00
Pysta
b74faea449 Translated using Weblate (Slovak)
Currently translated at 24.1% (129 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-09-18 14:23:36 +02:00
avb15621
0c9b6480c5 Translated using Weblate (Dutch)
Currently translated at 53.9% (288 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-18 14:23:35 +02:00
Roel van de Wiel
6fbb3bfbb1 Translated using Weblate (Dutch)
Currently translated at 53.9% (288 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-18 14:23:35 +02:00
A Warmerdam
53355561a8 Translated using Weblate (Dutch)
Currently translated at 53.9% (288 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-18 14:23:35 +02:00
Jan-Philipp Fischer
6e43194f71 Fix: Kubernetes discovery & Check for Custom Resource Definitions (#2003)
* Implement a CRD existence check

* test adding patch
2023-09-17 16:49:03 -07:00
shamoon
a72a27a8b5 Maybe handle k8s traefik ingress routes returns nothing 2023-09-17 10:05:45 -07:00
Ben Phelps
6c682cb648 Update README.md 2023-09-17 11:00:15 +03:00
Ben Phelps
e7587b8308 update readme image 2023-09-17 10:57:37 +03:00
shamoon
e663994c9b Allow tab name 0 2023-09-16 15:24:32 -07:00
shamoon
898fb88d86 Allow numbers in tab name (#2004) 2023-09-16 14:37:06 -07:00
Ben Phelps
6f5c2a8c1e update readme 2023-09-16 22:16:34 +03:00
shamoon
2908bfcb7c Update service-helpers.js 2023-09-16 08:59:36 -07:00
shamoon
34589f0514 reduce k8s traefik discovery log noise 2023-09-16 08:28:58 -07:00
shamoon
3cd441a45e Maybe handle no traefik ingress routes
See #1998
2023-09-16 08:06:24 -07:00
shamoon
816a2a5106 Fix ping stats not clickable in 0.6.30
Closes #1997
2023-09-16 07:37:31 -07:00
shamoon
38079badc8 Pixel-perfect aligned edges 2023-09-16 02:37:24 -07:00
Denis Papec
5109facf1c Fix layouts for initial tab (#1996) 2023-09-15 09:55:23 -07:00
shamoon
ee0afaa638 Fix activeTab with no layout settings
Closes #1995
2023-09-15 09:22:37 -07:00
shamoon
42b69e44a2 replace spaces in tab slugify 2023-09-15 08:35:24 -07:00
shamoon
6dc3be6029 Fix: slugify tab names (#1994) 2023-09-15 08:17:57 -07:00
shamoon
ec1cf2f3ca Resolve bad setState warning in tabprovider (#1993) 2023-09-15 08:00:08 -07:00
shamoon
cde8c658ae Fix duplicate keys on customapi widget 2023-09-15 07:47:10 -07:00
Denis Papec
8a520e07a5 Fix for broken layout when layout is not defined (#1989)
* Fix for broken layout when layout is not defined

* code style

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-09-15 07:41:56 -07:00
Greg Look
eb2b37063f Enhancement: add remap, scale, and suffx to customapi fields (#1958) 2023-09-14 23:50:54 -07:00
Denis Papec
2d8160512f Feature: tabbed layouts (#1981) 2023-09-14 14:55:14 -07:00
shamoon
768107cde8 Update index.jsx 2023-09-14 00:18:43 -07:00
Gino Cicatiello
9fb0917054 Translated using Weblate (Italian)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-13 05:57:42 +02:00
shamoon
1895899839 Merge pull request #1974 from benphelps/dependabot/github_actions/docker/setup-buildx-action-3
Bump docker/setup-buildx-action from 2 to 3
2023-09-12 11:02:08 -07:00
shamoon
ec25af781c Merge pull request #1973 from benphelps/dependabot/github_actions/docker/build-push-action-5
Bump docker/build-push-action from 4 to 5
2023-09-12 11:01:54 -07:00
dependabot[bot]
bda567e961 Bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 17:29:15 +00:00
shamoon
c525dda77d Merge pull request #1972 from benphelps/dependabot/github_actions/docker/setup-qemu-action-3
Bump docker/setup-qemu-action from 2 to 3
2023-09-12 10:28:27 -07:00
shamoon
65a0b9f905 Merge pull request #1971 from benphelps/dependabot/github_actions/docker/metadata-action-5
Bump docker/metadata-action from 4 to 5
2023-09-12 10:12:52 -07:00
shamoon
74e3a3f09c Merge pull request #1970 from benphelps/dependabot/github_actions/docker/login-action-3
Bump docker/login-action from 2 to 3
2023-09-12 10:02:08 -07:00
dependabot[bot]
d610d379f8 Bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 16:46:19 +00:00
dependabot[bot]
e3acc444d8 Bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 16:46:03 +00:00
dependabot[bot]
16299ced66 Bump docker/metadata-action from 4 to 5
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4 to 5.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md)
- [Commits](https://github.com/docker/metadata-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 16:45:55 +00:00
dependabot[bot]
3a018d5a63 Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 16:45:50 +00:00
TheRolf
b39c79bea1 Custom JS and CSS (#1950)
* First commit for custom styles and JS

* Adjusted classes

* Added ids and classes for services and bookmarks

* Apply suggestions from code review

* Remove mime dependency

* Update settings.json

* Detect custom css / js changes, no refresh

* Added preload to custom scripts and styles so they can load earlier

* Added data attribute name for bookmarks too

* Update [path].js

* code style, revert some pointer changes

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-09-10 14:36:54 -07:00
Vojislav
0741ef0427 Added start_url in manifest.json to fulfill requirements for installable app (#1955)
Co-authored-by: Vojislav Zelić <vodzo@Vojislavs-MacBook-Air.local>
2023-09-09 11:25:29 -07:00
Alex Tzonkov
bce43c28d6 Translated using Weblate (Bulgarian)
Currently translated at 15.1% (81 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-09-09 15:52:35 +02:00
gallegonovato
e94796f878 Translated using Weblate (Spanish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-09 15:52:34 +02:00
CosminPerRam
2ee6881376 Update GameDig dependency to 4.1.0 and revert compressjs fix. (#1939)
* Update GD to 4.1.0 and revert compressjs fix

* Update package-lock
2023-09-09 06:18:38 -07:00
shamoon
95635fca04 Revert "Enhancement: forward cookies from request (#1804)" (#1946)
This reverts commit d4edd432d8.
2023-09-09 06:07:04 -07:00
Nils Gereke
4f1cde97ec fix: total servers only representing last node (#1936) 2023-09-09 06:04:41 -07:00
James Waters
d4edd432d8 Enhancement: forward cookies from request (#1804) 2023-09-08 16:50:32 -07:00
shamoon
63f952509e Support disable glances cpu + mem (#1931) 2023-09-08 08:59:04 -07:00
shamoon
89f2e9739d Fix error glances cpu data not available yet (#1932) 2023-09-08 08:58:56 -07:00
Ben Phelps
9569f56aa5 attempt a fix (#1929) 2023-09-08 08:58:39 -07:00
shamoon
ae3634e9d4 Change crossorigin to crossOrigin
Co-Authored-By: Shagon94 <9140783+shagon94@users.noreply.github.com>
2023-09-08 07:16:36 -07:00
Gino Cicatiello
f96154189b Translated using Weblate (Italian)
Currently translated at 99.8% (533 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-08 04:31:23 +02:00
BluePhi09
402f86fc1b Translated using Weblate (German)
Currently translated at 97.9% (523 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-08 04:31:23 +02:00
shamoon
3f71bff13f fix blur on bookmark items 2023-09-06 21:27:24 -07:00
shamoon
a061eccef5 Merge pull request #1920 from benphelps/fix/ping-blocks-link
Fix: remove pointer events on ping div
2023-09-06 12:46:06 -07:00
shamoon
957bd9491b remove pointer events on ping div 2023-09-06 12:45:03 -07:00
Ben Phelps
7a1f8850b8 pass chart to all containers 2023-09-06 15:28:37 +03:00
Anonymous
ef3da08d93 Translated using Weblate (Basque)
Currently translated at 6.3% (34 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-09-06 13:08:39 +02:00
Anonymous
5a67bcd14d Translated using Weblate (Indonesian)
Currently translated at 4.4% (24 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-09-06 13:08:39 +02:00
Anonymous
864f4ef6cc Translated using Weblate (Slovenian)
Currently translated at 97.5% (521 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-09-06 13:08:38 +02:00
Anonymous
cc88bf21a9 Translated using Weblate (Greek)
Currently translated at 33.8% (181 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-09-06 13:08:38 +02:00
Anonymous
a6eba9bcde Translated using Weblate (Korean)
Currently translated at 32.3% (173 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-09-06 13:08:38 +02:00
Anonymous
8bf3b3e217 Translated using Weblate (Slovak)
Currently translated at 1.8% (10 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-09-06 13:08:37 +02:00
Anonymous
97c3d7c513 Translated using Weblate (Thai)
Currently translated at 8.9% (48 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-09-06 13:08:37 +02:00
Anonymous
13ee73f178 Translated using Weblate (Latvian)
Currently translated at 22.0% (118 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-09-06 13:08:37 +02:00
Anonymous
eedc47e091 Translated using Weblate (Japanese)
Currently translated at 94.7% (506 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-09-06 13:08:37 +02:00
Anonymous
dc8d0f6ca9 Translated using Weblate (Ukrainian)
Currently translated at 94.7% (506 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-09-06 13:08:36 +02:00
Anonymous
9811a4d5ee Translated using Weblate (Esperanto)
Currently translated at 27.1% (145 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-09-06 13:08:36 +02:00
Anonymous
27f52fd981 Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-09-06 13:08:36 +02:00
Anonymous
7adcd6c242 Translated using Weblate (Malay)
Currently translated at 47.1% (252 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-09-06 13:08:36 +02:00
Anonymous
74b73f99b7 Translated using Weblate (Danish)
Currently translated at 97.5% (521 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-09-06 13:08:35 +02:00
Anonymous
1841a794a4 Translated using Weblate (Czech)
Currently translated at 83.1% (444 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-09-06 13:08:35 +02:00
Anonymous
bca024e3c2 Translated using Weblate (Arabic)
Currently translated at 49.0% (262 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-09-06 13:08:34 +02:00
Anonymous
7cb4780a9c Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-09-06 13:08:34 +02:00
Anonymous
b0d68b3c0e Translated using Weblate (Turkish)
Currently translated at 73.5% (393 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-09-06 13:08:34 +02:00
Anonymous
9a060b3db1 Translated using Weblate (Bulgarian)
Currently translated at 8.8% (47 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-09-06 13:08:34 +02:00
Anonymous
0ffa5b8ace Translated using Weblate (Telugu)
Currently translated at 40.4% (216 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-09-06 13:08:33 +02:00
Anonymous
2ec96a6457 Translated using Weblate (Finnish)
Currently translated at 33.1% (177 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-09-06 13:08:33 +02:00
Anonymous
1098b0d4f9 Translated using Weblate (Yue (Traditional))
Currently translated at 22.0% (118 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-09-06 13:08:33 +02:00
Anonymous
1ecfa382bc Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.3% (461 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-09-06 13:08:32 +02:00
Anonymous
2f83906244 Translated using Weblate (Romanian)
Currently translated at 29.2% (156 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-09-06 13:08:32 +02:00
Anonymous
6eacff4638 Translated using Weblate (Hebrew)
Currently translated at 18.9% (101 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-09-06 13:08:32 +02:00
Anonymous
e1c615de14 Translated using Weblate (Hungarian)
Currently translated at 88.2% (471 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-09-06 13:08:31 +02:00
Anonymous
dd842ee7a8 Translated using Weblate (Croatian)
Currently translated at 88.0% (470 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-09-06 13:08:31 +02:00
Anonymous
2681930b2e Translated using Weblate (Swedish)
Currently translated at 24.7% (132 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-09-06 13:08:31 +02:00
Anonymous
4bfad4d27e Translated using Weblate (Polish)
Currently translated at 70.0% (374 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-09-06 13:08:31 +02:00
Anonymous
c13567bcb7 Translated using Weblate (Catalan)
Currently translated at 48.8% (261 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-09-06 13:08:30 +02:00
Anonymous
eb77e42264 Translated using Weblate (Chinese (Traditional))
Currently translated at 93.4% (499 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-09-06 13:08:30 +02:00
Anonymous
75b46509c1 Translated using Weblate (Dutch)
Currently translated at 45.5% (243 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-09-06 13:08:30 +02:00
Anonymous
e433d75372 Translated using Weblate (Vietnamese)
Currently translated at 8.4% (45 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-09-06 13:08:29 +02:00
Anonymous
5d76ac4c7f Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.1% (81 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-09-06 13:08:29 +02:00
Anonymous
95b91b953a Translated using Weblate (Italian)
Currently translated at 99.8% (533 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-06 13:08:29 +02:00
Anonymous
63e65d721b Translated using Weblate (Chinese (Simplified))
Currently translated at 84.2% (450 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-09-06 13:08:29 +02:00
Anonymous
ec6deb5ac9 Translated using Weblate (Russian)
Currently translated at 80.5% (430 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-09-06 13:08:28 +02:00
Anonymous
b4c7faf178 Translated using Weblate (Portuguese)
Currently translated at 77.7% (415 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-09-06 13:08:28 +02:00
Anonymous
132ec69f29 Translated using Weblate (French)
Currently translated at 99.8% (533 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-09-06 13:08:28 +02:00
Anonymous
673404e441 Translated using Weblate (Spanish)
Currently translated at 99.8% (533 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-06 13:08:28 +02:00
Anonymous
e267717898 Translated using Weblate (German)
Currently translated at 97.5% (521 of 534 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-06 13:08:27 +02:00
Ben Phelps
99f60eab29 Merge pull request #1917 from benphelps/non-graphs
mini-non-chart charts
2023-09-06 14:06:37 +03:00
Ben Phelps
17b0f635d8 mini-non-chart charts 2023-09-06 13:53:39 +03:00
fenix_vd
c2058f353d Translated using Weblate (Russian)
Currently translated at 80.6% (430 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-09-05 14:56:10 +02:00
shamoon
3a10214a45 Merge pull request #1903 from benphelps/feature-mixed-layout
Enhancement: mixed bookmarks / services layout
2023-09-04 20:27:04 -07:00
shamoon
9713a16e1f Merge pull request #1910 from benphelps/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-04 12:21:49 -07:00
dependabot[bot]
0e57547824 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 16:51:58 +00:00
Anonymous
80eb03194f Translated using Weblate (German)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-04 05:46:39 +02:00
Ettore Atalan
a0019d832e Translated using Weblate (German)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-09-04 05:46:37 +02:00
shamoon
4517409dbd Support mixing services & bookmarks layout 2023-09-03 07:50:04 -07:00
Ben Phelps
61b969cced Merge pull request #1906 from benphelps/glances-fs
fix linting
2023-09-03 17:49:11 +03:00
shamoon
ed293071b4 Update fs.jsx 2023-09-03 07:49:05 -07:00
Ben Phelps
5d0a793195 fix linting 2023-09-03 17:47:54 +03:00
Ben Phelps
b2908cdd97 Merge pull request #1905 from benphelps/glances-fs
Add glances filesystem graph
2023-09-03 17:28:50 +03:00
Ben Phelps
108ca23212 Merge branch 'main' into glances-fs 2023-09-03 17:23:08 +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
Gino Cicatiello
4d55f1fba4 Translated using Weblate (Italian)
Currently translated at 100.0% (533 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-09-03 09:52:24 +02:00
gallegonovato
257ab91ffb Translated using Weblate (Spanish)
Currently translated at 100.0% (533 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-09-03 09:52:23 +02:00
shamoon
96e8882fb5 Merge pull request #1896 from benphelps/fix/issue-1894
Fix: cardBlur with boxedWidgets shrinks search widget
2023-08-31 10:45:54 -07:00
shamoon
864eb8cfbb Fix duplicate additionalClassNames 2023-08-31 10:43:57 -07:00
shamoon
147ed30b09 Merge pull request #1893 from Spideramn/fix/manifest-credentials
Add crossorigin="use-credentials" to manifest link tag.
2023-08-31 10:41:14 -07:00
CosminPerRam
14aebf9e41 Translated using Weblate (Romanian)
Currently translated at 29.2% (156 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-31 17:55:38 +02:00
Spideramn
76013b32b3 Add crossorigin="use-credentials" to manifest link tag. 2023-08-31 11:58:51 +02:00
CosminPerRam
f0a4ab645c Update GameDig dependency to 4.0.7 (#1886) 2023-08-30 08:19:45 -07:00
Azurite
eedb728025 Translated using Weblate (Japanese)
Currently translated at 94.9% (506 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-30 15:55:21 +02:00
Nonoss117
419e930456 Translated using Weblate (French)
Currently translated at 100.0% (533 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-30 15:55:21 +02:00
shamoon
494a1c50d5 Update index.jsx 2023-08-29 09:48:32 -07:00
shamoon
3b05655fb0 Merge pull request #1881 from benphelps/fix/issue-1878
Fix location of quicklaunch, some focus issues
2023-08-29 09:37:58 -07:00
shamoon
98baf0507b Fix location of quicklaunch, some focus issues 2023-08-29 09:33:58 -07:00
shamoon
36760caff9 Update component.jsx 2023-08-28 17:48:44 -07:00
Anonymous
2363f96f1b Translated using Weblate (Basque)
Currently translated at 6.3% (34 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-29 02:04:35 +02:00
Anonymous
c0c14b0233 Translated using Weblate (Indonesian)
Currently translated at 4.5% (24 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-29 02:04:34 +02:00
Anonymous
5c28b501f6 Translated using Weblate (Slovenian)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-29 02:04:34 +02:00
Anonymous
5d9155ab22 Translated using Weblate (Greek)
Currently translated at 33.9% (181 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-29 02:04:33 +02:00
Anonymous
2d13c38d38 Translated using Weblate (Korean)
Currently translated at 32.4% (173 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-29 02:04:33 +02:00
Anonymous
d5891793dd Translated using Weblate (Slovak)
Currently translated at 1.8% (10 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-29 02:04:33 +02:00
Anonymous
7c8ab99df6 Translated using Weblate (Thai)
Currently translated at 9.0% (48 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-29 02:04:32 +02:00
Anonymous
c09785b4f5 Translated using Weblate (Latvian)
Currently translated at 22.1% (118 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-29 02:04:32 +02:00
Anonymous
31d7b56fb6 Translated using Weblate (Japanese)
Currently translated at 94.9% (506 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-29 02:04:32 +02:00
Anonymous
d5fd904e55 Translated using Weblate (Ukrainian)
Currently translated at 94.9% (506 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-29 02:04:32 +02:00
Anonymous
67b1ca6251 Translated using Weblate (Esperanto)
Currently translated at 27.2% (145 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-29 02:04:31 +02:00
Anonymous
3d13d9311d Translated using Weblate (Hindi)
Currently translated at 1.8% (10 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-29 02:04:31 +02:00
Anonymous
1b81942549 Translated using Weblate (Malay)
Currently translated at 47.2% (252 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-29 02:04:31 +02:00
Anonymous
2013fc8193 Translated using Weblate (Danish)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-29 02:04:30 +02:00
Anonymous
a8415ab40f Translated using Weblate (Czech)
Currently translated at 83.3% (444 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-29 02:04:30 +02:00
Anonymous
4ce941a781 Translated using Weblate (Arabic)
Currently translated at 49.1% (262 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-29 02:04:29 +02:00
Anonymous
2bf5830ca8 Translated using Weblate (Serbian)
Currently translated at 1.8% (10 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-29 02:04:29 +02:00
Anonymous
b554683eca Translated using Weblate (Turkish)
Currently translated at 73.7% (393 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-29 02:04:29 +02:00
Anonymous
9612a76bce Translated using Weblate (Bulgarian)
Currently translated at 8.8% (47 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-29 02:04:28 +02:00
Anonymous
4a2cf8764d Translated using Weblate (Telugu)
Currently translated at 40.5% (216 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-29 02:04:28 +02:00
Anonymous
1d99f2ebf1 Translated using Weblate (Finnish)
Currently translated at 33.2% (177 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-29 02:04:27 +02:00
Anonymous
3d32c129c0 Translated using Weblate (Yue (Traditional))
Currently translated at 22.1% (118 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-29 02:04:27 +02:00
Anonymous
5e42da6e53 Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.4% (461 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-29 02:04:27 +02:00
Anonymous
61190f6e49 Translated using Weblate (Romanian)
Currently translated at 28.3% (151 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-29 02:04:26 +02:00
Anonymous
dcb3ca52e3 Translated using Weblate (Hebrew)
Currently translated at 18.9% (101 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-29 02:04:26 +02:00
Anonymous
41aea0166e Translated using Weblate (Hungarian)
Currently translated at 88.3% (471 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-29 02:04:25 +02:00
Anonymous
5c9d2ba04c Translated using Weblate (Croatian)
Currently translated at 88.1% (470 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-29 02:04:25 +02:00
Anonymous
4ad13625be Translated using Weblate (Swedish)
Currently translated at 24.7% (132 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-29 02:04:24 +02:00
Anonymous
acb28389f4 Translated using Weblate (Polish)
Currently translated at 70.1% (374 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-29 02:04:23 +02:00
Anonymous
117930a6f5 Translated using Weblate (Catalan)
Currently translated at 48.9% (261 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-29 02:04:23 +02:00
Anonymous
d4db335d3d Translated using Weblate (Chinese (Traditional))
Currently translated at 93.6% (499 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-29 02:04:22 +02:00
Anonymous
7b1ac03e3a Translated using Weblate (Dutch)
Currently translated at 45.5% (243 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-29 02:04:22 +02:00
Anonymous
2405e8afbd Translated using Weblate (Vietnamese)
Currently translated at 8.4% (45 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-29 02:04:21 +02:00
Anonymous
bccf83467b Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.1% (81 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-29 02:04:21 +02:00
Anonymous
374e8873ce Translated using Weblate (Italian)
Currently translated at 88.1% (470 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-29 02:04:21 +02:00
Anonymous
313211f756 Translated using Weblate (Chinese (Simplified))
Currently translated at 84.4% (450 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-29 02:04:20 +02:00
Anonymous
49a68488b4 Translated using Weblate (Russian)
Currently translated at 80.1% (427 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-29 02:04:20 +02:00
Anonymous
5d66323edd Translated using Weblate (Portuguese)
Currently translated at 77.8% (415 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-29 02:04:19 +02:00
Anonymous
7d7964bfa8 Translated using Weblate (French)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-29 02:04:19 +02:00
Anonymous
34bf5da16f Translated using Weblate (Spanish)
Currently translated at 97.7% (521 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-29 02:04:19 +02:00
Anonymous
0aefe4e327 Translated using Weblate (German)
Currently translated at 85.7% (457 of 533 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-29 02:04:18 +02:00
Andrej Kralj
15d36f74d3 Translated using Weblate (Slovenian)
Currently translated at 100.0% (521 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-29 02:02:58 +02:00
AwesomeClips
0ee1656872 Translated using Weblate (Greek)
Currently translated at 34.7% (181 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-29 02:02:58 +02:00
Azurite
0e3d05ffe2 Translated using Weblate (Japanese)
Currently translated at 97.1% (506 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-29 02:02:58 +02:00
Allan Grauengaard Hedelain
843f624655 Translated using Weblate (Danish)
Currently translated at 100.0% (521 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-29 02:02:58 +02:00
oxygen44k
ba77e0e0f7 Translated using Weblate (Chinese (Simplified))
Currently translated at 86.3% (450 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-29 02:02:58 +02:00
gallegonovato
b7198d1d52 Translated using Weblate (Spanish)
Currently translated at 100.0% (521 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-29 02:02:58 +02:00
shamoon
e990ba3394 Merge pull request #1876 from tomhoover/uptimerobot-widget
Add UptimeRobot widget

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-28 17:02:46 -07:00
Tom Hoover
e19dab3c5d Add UptimeRobot widget 2023-08-28 17:02:00 -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
shamoon
43b32fd1fb Merge pull request #1869 from rauenzi/widget-options
Allow widgets to add headers or set method
2023-08-27 16:12:22 -07:00
Zack Rauen
d6448763e0 Allow widgets to add header or set methods 2023-08-27 18:46:50 -04:00
shamoon
51ea4ea405 Merge pull request #1868 from benphelps/fix/issue-1866
Fix: support streaming media from jellyfin
2023-08-27 13:56:33 -07:00
shamoon
713cb217e4 Support streaming media from jellyfin 2023-08-27 13:55:47 -07:00
Nonoss117
8ef88f2153 Translated using Weblate (French)
Currently translated at 100.0% (521 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-26 13:27:32 +02:00
shamoon
6bfc98daf8 Collapse should rotate 180 degrees 2023-08-26 00:25:24 -07: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
Anonymous
14b886793c Translated using Weblate (Basque)
Currently translated at 6.5% (34 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-26 08:26:04 +02:00
Anonymous
c460b7594f Translated using Weblate (Indonesian)
Currently translated at 4.6% (24 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-26 08:26:03 +02:00
Anonymous
6cfb150c9a Translated using Weblate (Slovenian)
Currently translated at 90.4% (471 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-26 08:26:03 +02:00
Anonymous
f107481da2 Translated using Weblate (Greek)
Currently translated at 34.5% (180 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-26 08:26:03 +02:00
Anonymous
96891e3205 Translated using Weblate (Korean)
Currently translated at 33.2% (173 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-26 08:26:02 +02:00
Anonymous
582f916379 Translated using Weblate (Slovak)
Currently translated at 1.9% (10 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-26 08:26:02 +02:00
Anonymous
b4d12cad9d Translated using Weblate (Thai)
Currently translated at 9.2% (48 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-26 08:26:02 +02:00
Anonymous
2c9225cde2 Translated using Weblate (Latvian)
Currently translated at 22.6% (118 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-26 08:26:01 +02:00
Anonymous
26715edbd0 Translated using Weblate (Japanese)
Currently translated at 73.8% (385 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-26 08:26:01 +02:00
Anonymous
4a11c34db6 Translated using Weblate (Ukrainian)
Currently translated at 97.1% (506 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-26 08:26:01 +02:00
Anonymous
de3ff0b3ba Translated using Weblate (Esperanto)
Currently translated at 27.8% (145 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-26 08:26:01 +02:00
Anonymous
338715fe58 Translated using Weblate (Hindi)
Currently translated at 1.9% (10 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-26 08:26:00 +02:00
Anonymous
8dbe0d7fe1 Translated using Weblate (Malay)
Currently translated at 48.3% (252 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-26 08:26:00 +02:00
Anonymous
f63d9ea7c1 Translated using Weblate (Danish)
Currently translated at 38.0% (198 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-26 08:26:00 +02:00
Anonymous
00b590ed2a Translated using Weblate (Czech)
Currently translated at 85.2% (444 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-26 08:25:59 +02:00
Anonymous
e72d58a382 Translated using Weblate (Arabic)
Currently translated at 50.2% (262 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-26 08:25:59 +02:00
Anonymous
ad87faa7ed Translated using Weblate (Serbian)
Currently translated at 1.9% (10 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-26 08:25:59 +02:00
Anonymous
fc41d144f6 Translated using Weblate (Turkish)
Currently translated at 75.4% (393 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-26 08:25:58 +02:00
Anonymous
6c64295505 Translated using Weblate (Bulgarian)
Currently translated at 9.0% (47 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-26 08:25:58 +02:00
Anonymous
ebd48e4081 Translated using Weblate (Telugu)
Currently translated at 41.4% (216 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-26 08:25:58 +02:00
Anonymous
71439eb689 Translated using Weblate (Finnish)
Currently translated at 33.9% (177 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-26 08:25:57 +02:00
Anonymous
9c33a30fb1 Translated using Weblate (Yue (Traditional))
Currently translated at 22.6% (118 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-26 08:25:57 +02:00
Anonymous
f8e1207abc Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.4% (461 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-26 08:25:57 +02:00
Anonymous
93f2bc7773 Translated using Weblate (Romanian)
Currently translated at 28.9% (151 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-26 08:25:56 +02:00
Anonymous
04f947b920 Translated using Weblate (Hebrew)
Currently translated at 19.3% (101 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-26 08:25:56 +02:00
Anonymous
d1ebfde45c Translated using Weblate (Hungarian)
Currently translated at 90.4% (471 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-26 08:25:56 +02:00
Anonymous
b22fdb42f4 Translated using Weblate (Croatian)
Currently translated at 90.2% (470 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-26 08:25:56 +02:00
Anonymous
c79d57775f Translated using Weblate (Swedish)
Currently translated at 25.3% (132 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-26 08:25:55 +02:00
Anonymous
caaf6c86ba Translated using Weblate (Polish)
Currently translated at 71.7% (374 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-26 08:25:55 +02:00
Anonymous
9484e9f963 Translated using Weblate (Catalan)
Currently translated at 50.0% (261 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-26 08:25:55 +02:00
Anonymous
2d13648e01 Translated using Weblate (Chinese (Traditional))
Currently translated at 95.7% (499 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-26 08:25:54 +02:00
Anonymous
2ddddf5cfe Translated using Weblate (Dutch)
Currently translated at 46.6% (243 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-26 08:25:54 +02:00
Anonymous
9086fcadc9 Translated using Weblate (Vietnamese)
Currently translated at 8.6% (45 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-26 08:25:54 +02:00
Anonymous
4502dba6ca Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.5% (81 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-26 08:25:53 +02:00
Anonymous
92d1ad2d9d Translated using Weblate (Italian)
Currently translated at 90.2% (470 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-26 08:25:53 +02:00
Anonymous
eb15ab054f Translated using Weblate (Chinese (Simplified))
Currently translated at 85.2% (444 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-26 08:25:53 +02:00
Anonymous
1047da8e23 Translated using Weblate (Russian)
Currently translated at 81.9% (427 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-26 08:25:52 +02:00
Anonymous
69ded4bd2f Translated using Weblate (Portuguese)
Currently translated at 79.6% (415 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-26 08:25:52 +02:00
Anonymous
6898ed3676 Translated using Weblate (French)
Currently translated at 99.2% (517 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-26 08:25:52 +02:00
Anonymous
e12184863a Translated using Weblate (Spanish)
Currently translated at 99.2% (517 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-26 08:25:51 +02:00
Anonymous
81f2906ae7 Translated using Weblate (German)
Currently translated at 87.7% (457 of 521 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-26 08:25:51 +02:00
Sander Hoeve
84296e573f Translated using Weblate (Dutch)
Currently translated at 47.0% (243 of 517 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-26 08:24:34 +02:00
Georges-Antoine Assi
4b4c63d562 Calibre web widget (#1855)
* Add widget for calibre-web with reverse-proxy auth

* Add custom proxy

* Get it working

* Fix lint issues

* Calibreweb widget: Handle empty series / authors / books

* Switch to new opds stats endpoint

* Remove calibre-web custom proxy handler

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-25 23:24:25 -07:00
Stathis Kefalas
1faaa1466a Translated using Weblate (Greek)
Currently translated at 34.8% (180 of 517 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-25 10:00:43 +02:00
gallegonovato
3a75fbb77d Translated using Weblate (Spanish)
Currently translated at 100.0% (517 of 517 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-25 10:00:43 +02:00
Atsumeru Developer
ad586f3853 Translated using Weblate (Ukrainian)
Currently translated at 97.8% (506 of 517 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-23 13:56:10 +02:00
Atsumeru Developer
5800957ec1 Translated using Weblate (Russian)
Currently translated at 82.5% (427 of 517 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-23 13:56:09 +02:00
shamoon
a58eabdb9b Merge pull request #1852 from benphelps:enhancement/extra-headers
Enhancement: support extra headers in widgets
2023-08-22 21:44:28 -07:00
shamoon
7cede1318e Support extra headers in widgets 2023-08-22 21:42:53 -07:00
Ben Phelps
d90a038884 fs widget? 2023-08-22 10:49:14 +03:00
João Paulo dos Santos Portela
a234eeffb1 Add user and restart options to docker-compose (#1844)
* Add user and restart options to docker-compose

Add user:group 1000:1000 to the docker compose, to match host user.
Restart container unless stopped.

* Update README.md

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-21 19:50:09 -07:00
Hosted Weblate
38bb974c64 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/
2023-08-22 04:32:16 +02:00
Nonoss117
0976c21fa4 Translated using Weblate (French)
Currently translated at 100.0% (520 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-22 04:32:12 +02:00
shamoon
a4c046c3e1 Merge pull request #1848 from benphelps/revert-1829-calibre-web-widget
Revert "Calibre web widget"
2023-08-21 19:32:06 -07:00
shamoon
eb67cf1d6f Revert "Calibre web widget (#1829)"
This reverts commit 4c49767a0f.
2023-08-21 19:31:48 -07:00
Anonymous
fb04972701 Translated using Weblate (Basque)
Currently translated at 6.3% (33 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-21 18:31:44 +02:00
Anonymous
4a80b32bb6 Translated using Weblate (Indonesian)
Currently translated at 4.6% (24 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-21 18:31:44 +02:00
Anonymous
d00d9ffee3 Translated using Weblate (Slovenian)
Currently translated at 90.5% (471 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-21 18:31:43 +02:00
Anonymous
c0af877e91 Translated using Weblate (Greek)
Currently translated at 34.6% (180 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-21 18:31:43 +02:00
Anonymous
f8586a9df6 Translated using Weblate (Korean)
Currently translated at 33.2% (173 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-21 18:31:43 +02:00
Anonymous
8cc19daf24 Translated using Weblate (Slovak)
Currently translated at 1.9% (10 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-21 18:31:43 +02:00
Anonymous
9f57f45816 Translated using Weblate (Thai)
Currently translated at 9.0% (47 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-21 18:31:42 +02:00
Anonymous
a11df88d8a Translated using Weblate (Latvian)
Currently translated at 22.6% (118 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-21 18:31:42 +02:00
Anonymous
ff81233772 Translated using Weblate (Japanese)
Currently translated at 74.0% (385 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-21 18:31:42 +02:00
Anonymous
7cec116b11 Translated using Weblate (Ukrainian)
Currently translated at 96.5% (502 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-21 18:31:41 +02:00
Anonymous
4dc84201a0 Translated using Weblate (Esperanto)
Currently translated at 27.8% (145 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-21 18:31:41 +02:00
Anonymous
9abdcc56a0 Translated using Weblate (Hindi)
Currently translated at 1.7% (9 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-21 18:31:41 +02:00
Anonymous
5b5fc60a0c Translated using Weblate (Malay)
Currently translated at 48.2% (251 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-21 18:31:40 +02:00
Anonymous
63b59c3964 Translated using Weblate (Danish)
Currently translated at 37.8% (197 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-21 18:31:40 +02:00
Anonymous
15d30abc93 Translated using Weblate (Czech)
Currently translated at 85.3% (444 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-21 18:31:40 +02:00
Anonymous
a7d73828e6 Translated using Weblate (Arabic)
Currently translated at 50.3% (262 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-21 18:31:39 +02:00
Anonymous
749d039896 Translated using Weblate (Serbian)
Currently translated at 1.7% (9 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-21 18:31:39 +02:00
Anonymous
651243cd9f Translated using Weblate (Turkish)
Currently translated at 75.5% (393 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-21 18:31:39 +02:00
Anonymous
b5ae79e1d3 Translated using Weblate (Bulgarian)
Currently translated at 8.8% (46 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-21 18:31:38 +02:00
Anonymous
5d81b56189 Translated using Weblate (Telugu)
Currently translated at 41.3% (215 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-21 18:31:38 +02:00
Anonymous
c7c600b47d Translated using Weblate (Finnish)
Currently translated at 34.0% (177 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-21 18:31:38 +02:00
Anonymous
8907a9cecf Translated using Weblate (Yue (Traditional))
Currently translated at 22.5% (117 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-21 18:31:37 +02:00
Anonymous
529927bc8b Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.6% (461 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-21 18:31:37 +02:00
Anonymous
f27f7b3fa6 Translated using Weblate (Romanian)
Currently translated at 28.8% (150 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-21 18:31:37 +02:00
Anonymous
a755a0ae83 Translated using Weblate (Hebrew)
Currently translated at 19.2% (100 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-21 18:31:36 +02:00
Anonymous
0d1a7f1717 Translated using Weblate (Hungarian)
Currently translated at 90.5% (471 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-21 18:31:36 +02:00
Anonymous
ebf036c241 Translated using Weblate (Croatian)
Currently translated at 90.3% (470 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-21 18:31:36 +02:00
Anonymous
3fd83f9f2d Translated using Weblate (Swedish)
Currently translated at 25.3% (132 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-21 18:31:36 +02:00
Anonymous
67d64264bc Translated using Weblate (Polish)
Currently translated at 71.9% (374 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-21 18:31:35 +02:00
Anonymous
69e187f574 Translated using Weblate (Catalan)
Currently translated at 50.0% (260 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-21 18:31:35 +02:00
Anonymous
83e27aa41a Translated using Weblate (Chinese (Traditional))
Currently translated at 95.9% (499 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-21 18:31:35 +02:00
Anonymous
37b6aba1d4 Translated using Weblate (Dutch)
Currently translated at 46.3% (241 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-21 18:31:34 +02:00
Anonymous
33d4b4d43d Translated using Weblate (Vietnamese)
Currently translated at 8.4% (44 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-21 18:31:34 +02:00
Anonymous
4e230fb76a Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.3% (80 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-21 18:31:34 +02:00
Anonymous
04ac922cfe Translated using Weblate (Italian)
Currently translated at 90.3% (470 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-21 18:31:33 +02:00
Anonymous
59c22820c0 Translated using Weblate (Chinese (Simplified))
Currently translated at 85.3% (444 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-21 18:31:33 +02:00
Anonymous
f463f99cbe Translated using Weblate (Russian)
Currently translated at 81.3% (423 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-21 18:31:33 +02:00
Anonymous
1e27da0024 Translated using Weblate (Portuguese)
Currently translated at 79.8% (415 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-21 18:31:33 +02:00
Anonymous
bc9e331ac5 Translated using Weblate (French)
Currently translated at 98.6% (513 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-21 18:31:32 +02:00
Anonymous
f7f1aa88b1 Translated using Weblate (Spanish)
Currently translated at 98.6% (513 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-21 18:31:32 +02:00
Anonymous
da3541cafe Translated using Weblate (German)
Currently translated at 87.8% (457 of 520 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-21 18:31:31 +02:00
AtsumeruDev
a6dac34b24 Add widget for Atsumeru self-hosted media server (#1839)
* Add widget for Atsumeru self-hosted media server

* Revert localization

* Update widget.js

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-21 09:30:22 -07:00
Anonymous
7bd433922f Translated using Weblate (Basque)
Currently translated at 6.3% (33 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-21 18:24:22 +02:00
Anonymous
deaacc3b05 Translated using Weblate (Indonesian)
Currently translated at 4.6% (24 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-21 18:24:22 +02:00
Anonymous
2e4808db63 Translated using Weblate (Slovenian)
Currently translated at 91.2% (471 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-21 18:24:22 +02:00
Anonymous
b033869345 Translated using Weblate (Greek)
Currently translated at 34.8% (180 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-21 18:24:22 +02:00
Anonymous
b56de26a2f Translated using Weblate (Korean)
Currently translated at 33.5% (173 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-21 18:24:21 +02:00
Anonymous
6bc9c4d861 Translated using Weblate (Slovak)
Currently translated at 1.9% (10 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-21 18:24:21 +02:00
Anonymous
78622d368e Translated using Weblate (Thai)
Currently translated at 9.1% (47 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-21 18:24:20 +02:00
Anonymous
491bf0f3a9 Translated using Weblate (Latvian)
Currently translated at 22.8% (118 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-21 18:24:20 +02:00
Anonymous
ea1435cd87 Translated using Weblate (Japanese)
Currently translated at 74.6% (385 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-21 18:24:20 +02:00
Anonymous
f25f834809 Translated using Weblate (Ukrainian)
Currently translated at 97.2% (502 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-21 18:24:20 +02:00
Anonymous
7d66b5c895 Translated using Weblate (Esperanto)
Currently translated at 28.1% (145 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-21 18:24:19 +02:00
Anonymous
0dc473909e Translated using Weblate (Hindi)
Currently translated at 1.7% (9 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-21 18:24:19 +02:00
Anonymous
d54230745b Translated using Weblate (Malay)
Currently translated at 48.6% (251 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-21 18:24:19 +02:00
Anonymous
c4cbd870d1 Translated using Weblate (Danish)
Currently translated at 38.1% (197 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-21 18:24:18 +02:00
Anonymous
8229d28c41 Translated using Weblate (Czech)
Currently translated at 86.0% (444 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-21 18:24:18 +02:00
Anonymous
861f726079 Translated using Weblate (Arabic)
Currently translated at 50.7% (262 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-21 18:24:18 +02:00
Anonymous
0065311f33 Translated using Weblate (Serbian)
Currently translated at 1.7% (9 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-21 18:24:17 +02:00
Anonymous
de064fd883 Translated using Weblate (Turkish)
Currently translated at 76.1% (393 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-21 18:24:17 +02:00
Anonymous
f93d66dc44 Translated using Weblate (Bulgarian)
Currently translated at 8.9% (46 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-21 18:24:17 +02:00
Anonymous
24ed90f3a6 Translated using Weblate (Telugu)
Currently translated at 41.6% (215 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-21 18:24:16 +02:00
Anonymous
727a4f41f1 Translated using Weblate (Finnish)
Currently translated at 34.3% (177 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-21 18:24:16 +02:00
Anonymous
b1e8bbfb56 Translated using Weblate (Yue (Traditional))
Currently translated at 22.6% (117 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-21 18:24:15 +02:00
Anonymous
702b8683c0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.3% (461 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-21 18:24:15 +02:00
Anonymous
3ee96372fd Translated using Weblate (Romanian)
Currently translated at 29.0% (150 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-21 18:24:14 +02:00
Anonymous
c405cfe574 Translated using Weblate (Hebrew)
Currently translated at 19.3% (100 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-21 18:24:14 +02:00
Anonymous
4906d21c84 Translated using Weblate (Hungarian)
Currently translated at 91.2% (471 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-21 18:24:14 +02:00
Anonymous
a650f7689d Translated using Weblate (Croatian)
Currently translated at 91.0% (470 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-21 18:24:13 +02:00
Anonymous
6410fcbaa2 Translated using Weblate (Swedish)
Currently translated at 25.5% (132 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-21 18:24:13 +02:00
Anonymous
aa31922681 Translated using Weblate (Polish)
Currently translated at 72.4% (374 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-21 18:24:12 +02:00
Anonymous
1cb0012a5a Translated using Weblate (Catalan)
Currently translated at 50.3% (260 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-21 18:24:12 +02:00
Anonymous
9a7a2f25f2 Translated using Weblate (Chinese (Traditional))
Currently translated at 96.7% (499 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-21 18:24:12 +02:00
Anonymous
a201e0fb7f Translated using Weblate (Dutch)
Currently translated at 46.7% (241 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-21 18:24:11 +02:00
Anonymous
0913ef74c2 Translated using Weblate (Vietnamese)
Currently translated at 8.5% (44 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-21 18:24:11 +02:00
Anonymous
96e887fa25 Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.5% (80 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-21 18:24:11 +02:00
Anonymous
36b95e68ce Translated using Weblate (Italian)
Currently translated at 91.0% (470 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-21 18:24:10 +02:00
Anonymous
3d2905b63c Translated using Weblate (Chinese (Simplified))
Currently translated at 86.0% (444 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-21 18:24:10 +02:00
Anonymous
375011bbea Translated using Weblate (Russian)
Currently translated at 81.9% (423 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-21 18:24:10 +02:00
Anonymous
56bd321f03 Translated using Weblate (Portuguese)
Currently translated at 80.4% (415 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-21 18:24:10 +02:00
Anonymous
b07fd98fc6 Translated using Weblate (French)
Currently translated at 99.4% (513 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-21 18:24:09 +02:00
Anonymous
6744ef49c9 Translated using Weblate (Spanish)
Currently translated at 99.4% (513 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-21 18:24:09 +02:00
Anonymous
25672a0147 Translated using Weblate (German)
Currently translated at 88.5% (457 of 516 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-21 18:24:08 +02:00
Georges-Antoine Assi
4c49767a0f Calibre web widget (#1829)
* Add widget for calibre-web with reverse-proxy auth

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-21 09:22:15 -07:00
shamoon
bb8ad4747c Update container.jsx 2023-08-21 09:14:05 -07:00
shamoon
80f26676d7 Merge pull request #1843 from benphelps/fix/issue-1828
Fix: apply cardBlur to header boxed / boxedWidgets
2023-08-21 08:54:00 -07:00
shamoon
70b4f4e1e6 Apply cardBlur to header boxed / boxedWidgets 2023-08-21 08:51:35 -07:00
Nonoss117
dce89f0c01 Translated using Weblate (French)
Currently translated at 100.0% (513 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-19 22:51:25 +02:00
gallegonovato
5b5e561c3c Translated using Weblate (Spanish)
Currently translated at 100.0% (513 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-19 22:51:24 +02:00
Anonymous
31aff205e0 Translated using Weblate (Basque)
Currently translated at 6.4% (33 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-18 04:54:42 +02:00
Anonymous
1136d7d2cb Translated using Weblate (Indonesian)
Currently translated at 4.6% (24 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-18 04:54:41 +02:00
Anonymous
74a2245c29 Translated using Weblate (Slovenian)
Currently translated at 91.8% (471 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-18 04:54:41 +02:00
Anonymous
0e1a41fdd1 Translated using Weblate (Greek)
Currently translated at 35.0% (180 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-18 04:54:41 +02:00
Anonymous
7a51b62e43 Translated using Weblate (Korean)
Currently translated at 33.7% (173 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-18 04:54:40 +02:00
Anonymous
75ecf3eba5 Translated using Weblate (Slovak)
Currently translated at 1.9% (10 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-18 04:54:40 +02:00
Anonymous
f18146063f Translated using Weblate (Thai)
Currently translated at 9.1% (47 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-18 04:54:40 +02:00
Anonymous
0af60d06c2 Translated using Weblate (Latvian)
Currently translated at 23.0% (118 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-18 04:54:39 +02:00
Anonymous
1f00b3828b Translated using Weblate (Japanese)
Currently translated at 75.0% (385 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-18 04:54:39 +02:00
Anonymous
9e96738487 Translated using Weblate (Ukrainian)
Currently translated at 97.8% (502 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-18 04:54:39 +02:00
Anonymous
d2fb93f7e9 Translated using Weblate (Esperanto)
Currently translated at 28.2% (145 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-18 04:54:38 +02:00
Anonymous
7834f2fecb Translated using Weblate (Hindi)
Currently translated at 1.7% (9 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-18 04:54:38 +02:00
Anonymous
9cd25d541f Translated using Weblate (Malay)
Currently translated at 48.9% (251 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-18 04:54:38 +02:00
Anonymous
95707d527f Translated using Weblate (Danish)
Currently translated at 38.4% (197 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-18 04:54:38 +02:00
Anonymous
b64bcdb817 Translated using Weblate (Czech)
Currently translated at 86.5% (444 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-18 04:54:37 +02:00
Anonymous
4cc113697c Translated using Weblate (Arabic)
Currently translated at 51.0% (262 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-18 04:54:37 +02:00
Anonymous
65115cf6dc Translated using Weblate (Serbian)
Currently translated at 1.7% (9 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-18 04:54:37 +02:00
Anonymous
1af888934e Translated using Weblate (Turkish)
Currently translated at 76.6% (393 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-18 04:54:36 +02:00
Anonymous
7281f6d3a1 Translated using Weblate (Bulgarian)
Currently translated at 8.9% (46 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-18 04:54:36 +02:00
Anonymous
804b69d5a6 Translated using Weblate (Telugu)
Currently translated at 41.9% (215 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-18 04:54:36 +02:00
Anonymous
4cb18f7129 Translated using Weblate (Finnish)
Currently translated at 34.5% (177 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-18 04:54:35 +02:00
Anonymous
7558a24242 Translated using Weblate (Yue (Traditional))
Currently translated at 22.8% (117 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-18 04:54:35 +02:00
Anonymous
e17f594101 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.8% (461 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-18 04:54:34 +02:00
Anonymous
ed6000262d Translated using Weblate (Romanian)
Currently translated at 29.2% (150 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-18 04:54:34 +02:00
Anonymous
f2900ac859 Translated using Weblate (Hebrew)
Currently translated at 19.4% (100 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-18 04:54:34 +02:00
Anonymous
e9c5aa13de Translated using Weblate (Hungarian)
Currently translated at 91.8% (471 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-18 04:54:33 +02:00
Anonymous
ede5a53b7f Translated using Weblate (Croatian)
Currently translated at 91.6% (470 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-18 04:54:33 +02:00
Anonymous
11fa395b76 Translated using Weblate (Swedish)
Currently translated at 25.7% (132 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-18 04:54:32 +02:00
Anonymous
63bc0c971e Translated using Weblate (Polish)
Currently translated at 72.9% (374 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-18 04:54:32 +02:00
Anonymous
6712219d59 Translated using Weblate (Catalan)
Currently translated at 50.6% (260 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-18 04:54:32 +02:00
Anonymous
dbfd92b643 Translated using Weblate (Chinese (Traditional))
Currently translated at 97.2% (499 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-18 04:54:31 +02:00
Anonymous
c30f2ec4ca Translated using Weblate (Dutch)
Currently translated at 46.9% (241 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-18 04:54:31 +02:00
Anonymous
ff620cebf1 Translated using Weblate (Vietnamese)
Currently translated at 8.5% (44 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-18 04:54:30 +02:00
Anonymous
73c30cc3b5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.5% (80 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-18 04:54:30 +02:00
Anonymous
6eb8d6a93d Translated using Weblate (Italian)
Currently translated at 91.6% (470 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-18 04:54:29 +02:00
Anonymous
5786b8b895 Translated using Weblate (Chinese (Simplified))
Currently translated at 86.5% (444 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-18 04:54:29 +02:00
Anonymous
1015005086 Translated using Weblate (Russian)
Currently translated at 82.4% (423 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-18 04:54:29 +02:00
Anonymous
51db779007 Translated using Weblate (Portuguese)
Currently translated at 80.8% (415 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-18 04:54:28 +02:00
Anonymous
eb06eaf292 Translated using Weblate (French)
Currently translated at 99.2% (509 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-18 04:54:28 +02:00
Anonymous
46d34040af Translated using Weblate (Spanish)
Currently translated at 99.2% (509 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-18 04:54:28 +02:00
Anonymous
e567d6b6b6 Translated using Weblate (German)
Currently translated at 89.0% (457 of 513 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-18 04:54:27 +02:00
shamoon
70ffe63e59 Merge pull request #1820 from joncrangle/feature/mealie-widget
Feature: mealie widget
2023-08-17 19:53:31 -07:00
joncrangle
39a94190cf Merge branch 'main' into feature/mealie-widget 2023-08-16 23:43:20 -04:00
Nonoss117
a8dfdcdac0 Translated using Weblate (French)
Currently translated at 100.0% (509 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-15 13:57:37 +02:00
gallegonovato
5dcfd555cb Translated using Weblate (Spanish)
Currently translated at 100.0% (509 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-15 13:57:37 +02:00
fredodiable
583494f27a Fix: GameDig widget missing lib (#1811) 2023-08-14 20:00:23 -07:00
Anonymous
af43b62e2f Translated using Weblate (Basque)
Currently translated at 6.4% (33 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-14 02:34:59 +02:00
Anonymous
dfb1e25877 Translated using Weblate (Indonesian)
Currently translated at 4.7% (24 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-14 02:34:59 +02:00
Anonymous
5765d48bba Translated using Weblate (Slovenian)
Currently translated at 92.5% (471 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-14 02:34:58 +02:00
Anonymous
15f1d0ecd2 Translated using Weblate (Greek)
Currently translated at 35.3% (180 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-14 02:34:58 +02:00
Anonymous
2da13e3cd4 Translated using Weblate (Korean)
Currently translated at 33.9% (173 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-14 02:34:58 +02:00
Anonymous
32b139a436 Translated using Weblate (Slovak)
Currently translated at 1.9% (10 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-14 02:34:57 +02:00
Anonymous
8b6f174c51 Translated using Weblate (Thai)
Currently translated at 9.2% (47 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-14 02:34:57 +02:00
Anonymous
33b0aefd8a Translated using Weblate (Latvian)
Currently translated at 23.1% (118 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-14 02:34:57 +02:00
Anonymous
d8bd19d997 Translated using Weblate (Japanese)
Currently translated at 75.6% (385 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-14 02:34:56 +02:00
Anonymous
6cfd08bb85 Translated using Weblate (Ukrainian)
Currently translated at 98.6% (502 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-14 02:34:56 +02:00
Anonymous
deaf49ce8b Translated using Weblate (Esperanto)
Currently translated at 28.4% (145 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-14 02:34:56 +02:00
Anonymous
4cafb8decd Translated using Weblate (Hindi)
Currently translated at 1.7% (9 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-14 02:34:55 +02:00
Anonymous
a4cc538388 Translated using Weblate (Malay)
Currently translated at 49.3% (251 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-14 02:34:55 +02:00
Anonymous
828c52d90a Translated using Weblate (Danish)
Currently translated at 38.7% (197 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-14 02:34:55 +02:00
Anonymous
52bf9718ca Translated using Weblate (Czech)
Currently translated at 87.2% (444 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-14 02:34:54 +02:00
Anonymous
48bd6e8436 Translated using Weblate (Arabic)
Currently translated at 51.4% (262 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-14 02:34:54 +02:00
Anonymous
5e9d2d8439 Translated using Weblate (Serbian)
Currently translated at 1.7% (9 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-14 02:34:53 +02:00
Anonymous
08dbd59f1b Translated using Weblate (Turkish)
Currently translated at 77.2% (393 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-14 02:34:53 +02:00
Anonymous
b1706e79be Translated using Weblate (Bulgarian)
Currently translated at 9.0% (46 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-14 02:34:53 +02:00
Anonymous
62c914c57e Translated using Weblate (Telugu)
Currently translated at 42.2% (215 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-14 02:34:52 +02:00
Anonymous
d55e328c90 Translated using Weblate (Finnish)
Currently translated at 34.7% (177 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-14 02:34:52 +02:00
Anonymous
f80e7c4f25 Translated using Weblate (Yue (Traditional))
Currently translated at 22.9% (117 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-14 02:34:51 +02:00
Anonymous
0d38cbae8e Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.5% (461 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-14 02:34:51 +02:00
Anonymous
6e5f15b6ec Translated using Weblate (Romanian)
Currently translated at 29.4% (150 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-14 02:34:51 +02:00
Anonymous
6f6f06ed38 Translated using Weblate (Hebrew)
Currently translated at 19.6% (100 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-14 02:34:50 +02:00
Anonymous
7a930d2173 Translated using Weblate (Hungarian)
Currently translated at 92.5% (471 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-14 02:34:50 +02:00
Anonymous
d71e316b5d Translated using Weblate (Croatian)
Currently translated at 92.3% (470 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-14 02:34:50 +02:00
Anonymous
63f8e1e5b1 Translated using Weblate (Swedish)
Currently translated at 25.9% (132 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-14 02:34:49 +02:00
Anonymous
c542ca1d0c Translated using Weblate (Polish)
Currently translated at 73.4% (374 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-14 02:34:48 +02:00
Anonymous
3f3f315e19 Translated using Weblate (Catalan)
Currently translated at 51.0% (260 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-14 02:34:48 +02:00
Anonymous
9f632c58fc Translated using Weblate (Chinese (Traditional))
Currently translated at 98.0% (499 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-14 02:34:48 +02:00
Anonymous
7e0ed2b8a7 Translated using Weblate (Dutch)
Currently translated at 47.3% (241 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-14 02:34:47 +02:00
Anonymous
22a2649b6e Translated using Weblate (Vietnamese)
Currently translated at 8.6% (44 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-14 02:34:47 +02:00
Anonymous
2ea780435a Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.7% (80 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-14 02:34:46 +02:00
Anonymous
7174b0ab24 Translated using Weblate (Italian)
Currently translated at 92.3% (470 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-14 02:34:46 +02:00
Anonymous
112d1e77b9 Translated using Weblate (Chinese (Simplified))
Currently translated at 87.2% (444 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-14 02:34:45 +02:00
Anonymous
f89cccf209 Translated using Weblate (Russian)
Currently translated at 83.1% (423 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-14 02:34:45 +02:00
Anonymous
41b1589347 Translated using Weblate (Portuguese)
Currently translated at 81.5% (415 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-14 02:34:45 +02:00
Anonymous
4896cc9457 Translated using Weblate (French)
Currently translated at 98.8% (503 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-14 02:34:44 +02:00
Anonymous
b9d523f0c4 Translated using Weblate (Spanish)
Currently translated at 98.8% (503 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-14 02:34:44 +02:00
Anonymous
d1a8523630 Translated using Weblate (German)
Currently translated at 89.7% (457 of 509 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-14 02:34:44 +02:00
George Stefanakis
46b2fc029d Translated using Weblate (Greek)
Currently translated at 35.7% (180 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-14 02:33:37 +02:00
Dan
f2f199124f Translated using Weblate (Ukrainian)
Currently translated at 99.8% (502 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-14 02:33:37 +02:00
Xinos
8d6f3b82f3 Translated using Weblate (Russian)
Currently translated at 84.0% (423 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-14 02:33:37 +02:00
shamoon
b0f29709c2 Merge pull request #1807 from userXinos/omv-widget
OpenMediaVault widget
2023-08-13 17:33:30 -07:00
Xinos
bf8c10bb61 OMV widget implementation 2023-08-13 09:24:03 -07:00
joncrangle
dc19ce4d38 Merge branch 'benphelps:main' into feature/mealie-widget 2023-08-11 15:10:16 -04:00
shamoon
3b1c9a69a4 Merge pull request #1802 from benphelps/fix/issue-1747
Fix jobStats potentially accessed before instantiated
2023-08-11 08:00:22 -07:00
shamoon
5c25279439 Fix jobStats potentially accessed before instantiated 2023-08-11 07:59:47 -07:00
Nonoss117
19bf7a0e5a Translated using Weblate (French)
Currently translated at 100.0% (503 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-10 21:49:41 +02:00
gallegonovato
9a3eb5a2b3 Translated using Weblate (Spanish)
Currently translated at 100.0% (503 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-10 21:49:41 +02:00
Jonathan Crangle
58f4cf6edd Add mealie widget 2023-08-09 15:13:17 -04:00
shamoon
63d4c6bdf8 Merge pull request #1784 from benphelps/mjpeg
Feature: mjpeg stream widget
2023-08-09 00:14:49 -07:00
Anonymous
369031a5e1 Translated using Weblate (Basque)
Currently translated at 6.5% (33 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-09 09:13:08 +02:00
Anonymous
3bf59245a6 Translated using Weblate (Indonesian)
Currently translated at 4.7% (24 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-09 09:13:08 +02:00
Anonymous
ef04ae8abe Translated using Weblate (Slovenian)
Currently translated at 93.6% (471 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-09 09:13:07 +02:00
Anonymous
64c0e9909d Translated using Weblate (Greek)
Currently translated at 30.2% (152 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-09 09:13:07 +02:00
Anonymous
2e6a146cb6 Translated using Weblate (Korean)
Currently translated at 34.3% (173 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-09 09:13:07 +02:00
Anonymous
a605b64d18 Translated using Weblate (Slovak)
Currently translated at 1.7% (9 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-09 09:13:06 +02:00
Anonymous
747cc147cb Translated using Weblate (Thai)
Currently translated at 9.3% (47 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-09 09:13:06 +02:00
Anonymous
3986634e0d Translated using Weblate (Latvian)
Currently translated at 23.4% (118 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-09 09:13:06 +02:00
Anonymous
022dff6b99 Translated using Weblate (Japanese)
Currently translated at 76.5% (385 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-09 09:13:06 +02:00
Anonymous
828d1a5a3a Translated using Weblate (Ukrainian)
Currently translated at 99.2% (499 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-09 09:13:05 +02:00
Anonymous
1b629aed4f Translated using Weblate (Esperanto)
Currently translated at 28.8% (145 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-09 09:13:05 +02:00
Anonymous
77eaf00c06 Translated using Weblate (Hindi)
Currently translated at 1.7% (9 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-09 09:13:05 +02:00
Anonymous
247d46bbbc Translated using Weblate (Malay)
Currently translated at 49.9% (251 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-09 09:13:04 +02:00
Anonymous
7f8782732d Translated using Weblate (Danish)
Currently translated at 39.1% (197 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-09 09:13:04 +02:00
Anonymous
ffae7e1058 Translated using Weblate (Czech)
Currently translated at 88.2% (444 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-09 09:13:04 +02:00
Anonymous
6414b7c61d Translated using Weblate (Arabic)
Currently translated at 52.0% (262 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-09 09:13:04 +02:00
Anonymous
a0b6a90042 Translated using Weblate (Serbian)
Currently translated at 1.7% (9 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-09 09:13:03 +02:00
Anonymous
b6141c7235 Translated using Weblate (Turkish)
Currently translated at 78.1% (393 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-09 09:13:03 +02:00
Anonymous
719f6c8a3a Translated using Weblate (Bulgarian)
Currently translated at 9.1% (46 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-09 09:13:03 +02:00
Anonymous
6d22e1b283 Translated using Weblate (Telugu)
Currently translated at 42.7% (215 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-09 09:13:03 +02:00
Anonymous
64025ddb1b Translated using Weblate (Finnish)
Currently translated at 35.1% (177 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-09 09:13:02 +02:00
Anonymous
338a9da697 Translated using Weblate (Yue (Traditional))
Currently translated at 23.2% (117 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-09 09:13:02 +02:00
Anonymous
af9dc9311c Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.6% (461 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-09 09:13:02 +02:00
Anonymous
b63977a129 Translated using Weblate (Romanian)
Currently translated at 29.8% (150 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-09 09:13:01 +02:00
Anonymous
8058736918 Translated using Weblate (Hebrew)
Currently translated at 19.8% (100 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-09 09:13:01 +02:00
Anonymous
e805ed2e88 Translated using Weblate (Hungarian)
Currently translated at 93.6% (471 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-09 09:13:01 +02:00
Anonymous
3ebc302f02 Translated using Weblate (Croatian)
Currently translated at 93.4% (470 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-09 09:13:00 +02:00
Anonymous
61cb50e12a Translated using Weblate (Swedish)
Currently translated at 26.2% (132 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-09 09:13:00 +02:00
Anonymous
56c1627c7e Translated using Weblate (Polish)
Currently translated at 74.3% (374 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-09 09:13:00 +02:00
Anonymous
d41abd7126 Translated using Weblate (Catalan)
Currently translated at 51.6% (260 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-09 09:13:00 +02:00
Anonymous
781dc4b02c Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (499 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-09 09:12:59 +02:00
Anonymous
fa78735f12 Translated using Weblate (Dutch)
Currently translated at 47.9% (241 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-09 09:12:59 +02:00
Anonymous
a6dc7db96e Translated using Weblate (Vietnamese)
Currently translated at 8.7% (44 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-09 09:12:59 +02:00
Anonymous
ab8e4e21a1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.9% (80 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-09 09:12:58 +02:00
Anonymous
ae124e49b3 Translated using Weblate (Italian)
Currently translated at 93.4% (470 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-09 09:12:58 +02:00
Anonymous
e4c7a90d14 Translated using Weblate (Chinese (Simplified))
Currently translated at 88.2% (444 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-09 09:12:58 +02:00
Anonymous
db6b5bb175 Translated using Weblate (Russian)
Currently translated at 84.6% (426 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-09 09:12:58 +02:00
Anonymous
a96e875944 Translated using Weblate (Portuguese)
Currently translated at 82.5% (415 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-09 09:12:57 +02:00
Anonymous
b0ae89c4ba Translated using Weblate (French)
Currently translated at 99.4% (500 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-09 09:12:57 +02:00
Anonymous
3802b54593 Translated using Weblate (Spanish)
Currently translated at 99.4% (500 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-09 09:12:57 +02:00
Anonymous
f2fdd77f96 Translated using Weblate (German)
Currently translated at 90.8% (457 of 503 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-09 09:12:56 +02:00
George Stefanakis
75ae5a9cf1 Translated using Weblate (Greek)
Currently translated at 30.4% (152 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-09 09:12:13 +02:00
Dan
715ceed97b Translated using Weblate (Ukrainian)
Currently translated at 99.8% (499 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-09 09:12:13 +02:00
shamoon
1db38e5ca2 Merge pull request #1789 from fredodiable/main
Added status field for GameDig widget
2023-08-09 00:12:06 -07:00
fredodiable
70ea5ad60d Added status field for GameDig widget 2023-08-09 00:08:11 -07:00
Nitzan Miranda
12736cc003 Fix(AzureDevOps): PR approved count and Pipeline running status (#1788)
* fix pr-votes for approved with suggestions counts

* remove top1 result

top1 result prevent from running pipeline to show in request

* Update src/widgets/azuredevops/component.jsx

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-09 00:05:34 -07:00
shamoon
5611baa0b8 Merge pull request #1783 from benphelps/hidden-headers
allow hiding section headers
2023-08-06 07:36:05 -07: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
167ecb42de allow hiding section headers 2023-08-06 04:38:37 +03:00
Chun Chi Hsieh
15bf55952b Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (499 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-05 06:06:02 +02:00
Nonoss117
0f8f5e15a3 Translated using Weblate (French)
Currently translated at 100.0% (500 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-05 06:06:02 +02:00
gallegonovato
33e3603d26 Translated using Weblate (Spanish)
Currently translated at 100.0% (500 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-05 06:06:01 +02:00
shamoon
63a56225bb Merge pull request #1777 from benphelps/fix/issue-1774
Fix glances metrics widget memory units
2023-08-03 21:28:26 -07:00
shamoon
952c72a3a5 Fix glances metrics widget memory units 2023-08-03 21:27:30 -07:00
Nick Remijn
552f2c4a98 Feature: card blur background option (#1772)
* Add cardBlur option to settings

* add blur option to bookmarks

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-08-03 21:09:35 -07:00
shamoon
ec165b8c74 Merge pull request #1771 from benphelps/fix/issue-1766
Fix: Handle urbackup clients with images disabled
2023-08-03 08:51:44 -07:00
shamoon
cf05a85ad6 Handle urbackup clients with images disabled 2023-08-03 08:50:45 -07:00
shamoon
69d828ec8e Merge pull request #1770 from benphelps/fix/issue-1768
Fix: glances widget disk loading blocks remain after load
2023-08-03 08:37:16 -07:00
shamoon
b6072200a2 Fix incorrect disk key on loading block 2023-08-03 08:34:21 -07:00
Nonoss117
fab975062d Translated using Weblate (French)
Currently translated at 100.0% (500 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-03 06:53:52 +02:00
gallegonovato
5f01196b21 Translated using Weblate (Spanish)
Currently translated at 99.8% (499 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-03 06:53:52 +02:00
shamoon
2faaaf5a9c Merge pull request #1763 from jnsgruk/main
chore: update package-lock.json
2023-08-02 17:54:12 -07:00
Jon Seager
8d91aeaf9d chore: update package-lock.json 2023-08-02 17:34:21 +01:00
shamoon
2609694dd7 Merge pull request #1762 from benphelps/fix/issue-1757
Fix: handle service container stopped causes crash in v0.6.24
2023-08-02 08:05:26 -07:00
shamoon
9c5521ba35 Fix: handle service object not found 2023-08-02 08:04:16 -07:00
Anonymous
6ae351b2ba Translated using Weblate (Basque)
Currently translated at 6.6% (33 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/
2023-08-02 07:31:53 +02:00
Anonymous
7116b093cb Translated using Weblate (Indonesian)
Currently translated at 4.8% (24 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/
2023-08-02 07:31:53 +02:00
Anonymous
c5aa89e533 Translated using Weblate (Slovenian)
Currently translated at 94.2% (471 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/
2023-08-02 07:31:53 +02:00
Anonymous
69b660b829 Translated using Weblate (Greek)
Currently translated at 28.6% (143 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/
2023-08-02 07:31:52 +02:00
Anonymous
ceca1d8ae7 Translated using Weblate (Korean)
Currently translated at 34.6% (173 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/
2023-08-02 07:31:52 +02:00
Anonymous
1369a356a8 Translated using Weblate (Slovak)
Currently translated at 1.8% (9 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/
2023-08-02 07:31:51 +02:00
Anonymous
a6014d3d06 Translated using Weblate (Thai)
Currently translated at 9.4% (47 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/
2023-08-02 07:31:51 +02:00
Anonymous
5de0f4f61e Translated using Weblate (Latvian)
Currently translated at 23.6% (118 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/
2023-08-02 07:31:51 +02:00
Anonymous
1371767481 Translated using Weblate (Japanese)
Currently translated at 77.0% (385 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/
2023-08-02 07:31:50 +02:00
Anonymous
8534fcfa58 Translated using Weblate (Ukrainian)
Currently translated at 95.8% (479 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/
2023-08-02 07:31:50 +02:00
Anonymous
0bc8d74694 Translated using Weblate (Esperanto)
Currently translated at 29.0% (145 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/
2023-08-02 07:31:50 +02:00
Anonymous
11b2bd6db1 Translated using Weblate (Hindi)
Currently translated at 1.8% (9 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/
2023-08-02 07:31:49 +02:00
Anonymous
3b943cabed Translated using Weblate (Malay)
Currently translated at 50.2% (251 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/
2023-08-02 07:31:49 +02:00
Anonymous
5a14917aa7 Translated using Weblate (Danish)
Currently translated at 39.4% (197 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/
2023-08-02 07:31:49 +02:00
Anonymous
7583b3dfd1 Translated using Weblate (Czech)
Currently translated at 88.8% (444 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/
2023-08-02 07:31:48 +02:00
Anonymous
ec61e2dd23 Translated using Weblate (Arabic)
Currently translated at 52.4% (262 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/
2023-08-02 07:31:48 +02:00
Anonymous
5bda68d51d Translated using Weblate (Serbian)
Currently translated at 1.8% (9 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/
2023-08-02 07:31:48 +02:00
Anonymous
c75e3cdf40 Translated using Weblate (Turkish)
Currently translated at 78.6% (393 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/
2023-08-02 07:31:47 +02:00
Anonymous
2029df1ed0 Translated using Weblate (Bulgarian)
Currently translated at 9.2% (46 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/
2023-08-02 07:31:47 +02:00
Anonymous
eb475e8655 Translated using Weblate (Telugu)
Currently translated at 43.0% (215 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/
2023-08-02 07:31:47 +02:00
Anonymous
bfada0f5f3 Translated using Weblate (Finnish)
Currently translated at 35.4% (177 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/
2023-08-02 07:31:46 +02:00
Anonymous
6e33e62540 Translated using Weblate (Yue (Traditional))
Currently translated at 23.4% (117 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/
2023-08-02 07:31:46 +02:00
Anonymous
b6ff3da1f0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.2% (461 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/
2023-08-02 07:31:45 +02:00
Anonymous
ae14158f35 Translated using Weblate (Romanian)
Currently translated at 30.0% (150 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/
2023-08-02 07:31:45 +02:00
Anonymous
149e653e59 Translated using Weblate (Hebrew)
Currently translated at 20.0% (100 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/
2023-08-02 07:31:45 +02:00
Anonymous
05a90e83ef Translated using Weblate (Hungarian)
Currently translated at 94.2% (471 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/
2023-08-02 07:31:44 +02:00
Anonymous
e7430af074 Translated using Weblate (Croatian)
Currently translated at 94.0% (470 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/
2023-08-02 07:31:44 +02:00
Anonymous
0752ffce90 Translated using Weblate (Swedish)
Currently translated at 26.4% (132 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/
2023-08-02 07:31:44 +02:00
Anonymous
2451fae52a Translated using Weblate (Polish)
Currently translated at 74.8% (374 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/
2023-08-02 07:31:43 +02:00
Anonymous
fa45d09568 Translated using Weblate (Catalan)
Currently translated at 52.0% (260 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/
2023-08-02 07:31:43 +02:00
Anonymous
5806ac91b0 Translated using Weblate (Chinese (Traditional))
Currently translated at 92.0% (460 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/
2023-08-02 07:31:42 +02:00
Anonymous
92114046dd Translated using Weblate (Dutch)
Currently translated at 48.2% (241 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/
2023-08-02 07:31:42 +02:00
Anonymous
4fee35d05a Translated using Weblate (Vietnamese)
Currently translated at 8.8% (44 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/
2023-08-02 07:31:41 +02:00
Anonymous
2685f92229 Translated using Weblate (Norwegian Bokmål)
Currently translated at 16.0% (80 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/
2023-08-02 07:31:41 +02:00
Anonymous
bb1f9f162a Translated using Weblate (Italian)
Currently translated at 94.0% (470 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/
2023-08-02 07:31:41 +02:00
Anonymous
687dda0665 Translated using Weblate (Chinese (Simplified))
Currently translated at 88.8% (444 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/
2023-08-02 07:31:40 +02:00
Anonymous
23a06ec87e Translated using Weblate (Russian)
Currently translated at 85.2% (426 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/
2023-08-02 07:31:40 +02:00
Anonymous
3002dd2531 Translated using Weblate (Portuguese)
Currently translated at 83.0% (415 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/
2023-08-02 07:31:39 +02:00
Anonymous
068150b603 Translated using Weblate (French)
Currently translated at 98.8% (494 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-08-02 07:31:39 +02:00
Anonymous
e97af12f69 Translated using Weblate (Spanish)
Currently translated at 98.8% (494 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-02 07:31:39 +02:00
Anonymous
93566320db Translated using Weblate (German)
Currently translated at 91.4% (457 of 500 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/
2023-08-02 07:31:38 +02:00
Ben Phelps
9c4d1cf108 Merge pull request #1749 from benphelps/charts-widget
Glances Charts Widget
2023-08-02 08:29:53 +03:00
Ben Phelps
daa7ef2a3d add pure info metric 2023-08-02 06:04:54 +03:00
Ben Phelps
09d44da087 add effect overlay target 2023-08-02 06:04:20 +03:00
Ben Phelps
9d10de9949 update placeholder blocks 2023-08-02 06:04:04 +03:00
Ben Phelps
a0ffb46a6f bump up quicklook z 2023-08-02 03:54:34 +03:00
gallegonovato
3e8a8c649b Translated using Weblate (Spanish)
Currently translated at 100.0% (494 of 494 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/
2023-08-01 20:06:35 +02:00
Ben Phelps
0c8131f27e add gpu metric 2023-08-01 16:45:09 +03:00
Ben Phelps
cd2c24d47b rework position prop 2023-08-01 16:39:46 +03:00
Ben Phelps
b77909a360 refactor widget 2023-08-01 13:05:17 +03:00
Ben Phelps
3fa72e48cc Merge branch 'main' into charts-widget 2023-08-01 04:46:44 +03:00
Ben Phelps
9aba70d214 glances widget test 1 2023-08-01 03:54:19 +03:00
Nonoss117
302bff865c Translated using Weblate (French)
Currently translated at 100.0% (494 of 494 strings)

Translation: Homepage/Homepage
Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/
2023-07-31 18:09:32 +02:00
shamoon
7cb5bcd468 Merge pull request #1746 from benphelps/fix/issue-1743
Fix: authentik queries failing
2023-07-31 09:03:47 -07:00
shamoon
804d9f66de Fix authentik queries 2023-07-31 09:01:55 -07:00
shamoon
489cfb5f10 Merge pull request #1744 from benphelps/fix/resources-0-percent
Fix: usage bar 0% displays '0'
2023-07-31 08:32:28 -07:00
shamoon
45ee37c86d Fix for usage bar percent is 0 2023-07-31 08:31:15 -07:00
576 changed files with 42281 additions and 17475 deletions

View File

@@ -3,4 +3,10 @@ FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT}
RUN npm install -g pnpm RUN npm install -g pnpm
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
python3-pip \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
ENV PATH="${PATH}:./node_modules/.bin" ENV PATH="${PATH}:./node_modules/.bin"

View File

@@ -1,27 +1,26 @@
{ {
"name": "homepage", "name": "homepage",
"build": { "build": {
"dockerfile": "Dockerfile", "dockerfile": "Dockerfile",
"args": { "args": {
"VARIANT": "18-bullseye" "VARIANT": "18-bullseye",
} },
}, },
"customizations": { "customizations": {
"vscode": { "vscode": {
"extensions": [ "extensions": [
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"mhutchie.git-graph", "mhutchie.git-graph",
"streetsidesoftware.code-spell-checker", "streetsidesoftware.code-spell-checker",
], "esbenp.prettier-vscode",
"settings": { ],
"eslint.format.enable": true, "settings": {
"eslint.lintTask.enable": true, "eslint.format.enable": true,
"eslint.packageManager": "pnpm" "eslint.lintTask.enable": true,
} "eslint.packageManager": "pnpm",
} },
}, },
"postCreateCommand": ".devcontainer/setup.sh", },
"forwardPorts": [ "postCreateCommand": ".devcontainer/setup.sh",
3000 "forwardPorts": [3000],
]
} }

View File

@@ -3,6 +3,8 @@
# Install Node packages # Install Node packages
pnpm install pnpm install
python3 -m pip install -r requirements.txt
# Copy in skeleton configuration if there is no existing configuration # Copy in skeleton configuration if there is no existing configuration
if [ ! -d "config/" ]; then if [ ! -d "config/" ]; then
echo "Adding skeleton config" echo "Adding skeleton config"

49
.github/DISCUSSION_TEMPLATE/support.yml vendored Normal file
View File

@@ -0,0 +1,49 @@
body:
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of the issue or question. If applicable, add screenshots to help explain your problem.
validations:
required: true
- type: input
id: version
attributes:
label: homepage version
placeholder: e.g. v0.4.18 (4ea2798)
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
options:
- Docker
- Unraid
- Source
- Other (please describe above)
validations:
required: true
- type: textarea
id: config
attributes:
label: Configuration
description: Please provide any relevant service, widget or otherwise related configuration here
render: yaml
- type: textarea
id: container-logs
attributes:
label: Container Logs
description: Please review and provide any logs from the container, if relevant
- type: textarea
id: browser-logs
attributes:
label: Browser Logs
description: Please review and provide any logs from the browser, if relevant
- type: textarea
id: troubleshooting
attributes:
label: Troubleshooting
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/latest/more/troubleshooting/#service-widget-errors), if relevant.
validations:
required: true

5
.github/FUNDING.yml vendored
View File

@@ -1,3 +1,2 @@
github: benphelps github: [gethomepage, benphelps, shamoon]
ko_fi: benphelps open_collective: homepage
custom: ["https://paypal.me/phelpsben"]

View File

@@ -1,94 +1,33 @@
name: Bug report name: 🐛 Bug report
description: Create a report to help us improve description: Please only raise an issue if you've been advised to do so in a GitHub discussion. Thanks! 🙏
title: "[Bug] " labels: ["bug"]
labels: ["bug, unconfirmed"]
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Have a question? 👉 [Start a new discussion](https://github.com/benphelps/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC). ## ⚠️ Please note
The starting point for a bug report should always be a [GitHub discussion](https://github.com/gethomepage/homepage/discussions/new?category=support)
Before opening an issue, please double check: Thank you for contributing to homepage! ✊
- [The troubleshooting guide](https://gethomepage.dev/en/more/troubleshooting/).
- [The homepage documentation](https://gethomepage.dev/)
- [Existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem.
placeholder: |
Currently homepage does not work when...
[Screenshot if applicable]
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. See error
validations:
required: true
- type: input
id: version
attributes:
label: homepage version
placeholder: e.g. v0.4.18 (4ea2798)
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
options:
- Docker
- Unraid
- Source
- Other (please describe above)
validations:
required: true
- type: textarea
id: config
attributes:
label: Configuration
description: Please provide any relevant service, widget or otherwise related configuration here
render: yaml
- type: textarea
id: container-logs
attributes:
label: Container Logs
description: Please review and provide any logs from the container, if relevant
- type: textarea
id: browser-logs
attributes:
label: Browser Logs
description: Please review and provide any logs from the browser, if relevant
- type: textarea
id: troubleshooting
attributes:
label: Troubleshooting
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/en/more/troubleshooting/#service-widget-errors). If this is a service widget issue and you do not include any information here your issue will be closed. If it is not, indicate e.g. 'n/a'
validations:
required: true
- type: textarea
id: other
attributes:
label: Other
description: Include any other relevant details. E.g. service version or API version, docker version, etc.
- type: checkboxes - type: checkboxes
id: pre-flight id: pre-flight
attributes: attributes:
label: Before submitting, I have made sure to label: Before submitting, please confirm the following
options: options:
- label: Check [the documentation](https://gethomepage.dev/) - label: I confirm this was discussed, and the maintainers suggest I open an issue (note that AI bots are not maintainers).
required: true required: true
- label: Follow [the troubleshooting guide](https://gethomepage.dev/en/more/troubleshooting/) (please include output above if applicable). - label: I am aware that if I create this issue without a discussion, it will be removed without a response.
required: true
- label: Search [existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
required: true required: true
- type: input
id: discussion
attributes:
label: Discussion Link
description: |
Please link to the GitHub discussion that led to this issue.
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Optional
render: Text

View File

@@ -1,11 +1,11 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: 🤔 Questions and Help - name: 🤔 Questions and Help
url: https://github.com/benphelps/homepage/discussions url: https://github.com/gethomepage/homepage/discussions
about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions. about: For support, possible bug reports or general questions.
- name: 💬 Chat - name: 💬 Chat
url: https://discord.gg/k4ruYNrudu url: https://discord.gg/k4ruYNrudu
about: Want to discuss homepage with others? Check out our chat. about: Want to discuss homepage with others? Check out our chat.
- name: 🚀 Feature Request - name: 🚀 Feature Request
url: https://github.com/benphelps/homepage/discussions/new?category=feature-requests url: https://github.com/gethomepage/homepage/discussions/new?category=feature-requests
about: Remember to search for existing feature requests and "up-vote" any you like about: Remember to search for existing feature requests and "up-vote" any you like

View File

@@ -3,10 +3,10 @@
<!-- <!--
Please include a summary of the change. Screenshots and / or videos can also be helpful if appropriate. Please include a summary of the change. Screenshots and / or videos can also be helpful if appropriate.
*** Please see the development guidelines for new widgets: https://gethomepage.dev/en/more/development/#service-widget-guidelines *** Please see the development guidelines for new widgets: https://gethomepage.dev/latest/more/development/#service-widget-guidelines
*** If you do not follow these guidelines your PR will likely be closed without review. *** If you do not follow these guidelines your PR will likely be closed without review.
New service widgets should include example(s) of relevant relevant API output as well as a PR to the docs for the new widget. New service widgets should include example(s) of relevant relevant API output as well updates to the docs for the new widget.
--> -->
Closes # (issue) Closes # (issue)
@@ -20,11 +20,12 @@ What type of change does your PR introduce to Homepage?
- [ ] New service widget - [ ] New service widget
- [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality) - [ ] New feature (non-breaking change which adds functionality)
- [ ] Documentation only
- [ ] Other (please explain) - [ ] Other (please explain)
## Checklist: ## Checklist:
- [ ] If adding a service widget or a change that requires it, I have added a corresponding PR to the [documentation](https://github.com/benphelps/homepage-docs) here: - [ ] If applicable, I have added corresponding documentation changes.
- [ ] If adding a new widget I have reviewed the [guidelines](https://gethomepage.dev/en/more/development/#service-widget-guidelines). - [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/latest/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/latest/more/development/#service-widget-guidelines).
- [ ] If applicable, I have checked that all tests pass with e.g. `pnpm lint`. - [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/latest/more/development/#code-linting).
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers. - [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.

View File

@@ -5,7 +5,11 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: "github-actions" # Maintain dependencies for GitHub Actions - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "monthly"

31
.github/workflows/crowdin.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Crowdin Action
on:
workflow_dispatch:
schedule:
- cron: '2 */12 * * *'
push:
paths: [
'/public/locales/en/**',
]
branches: [ main ]
jobs:
synchronize-with-crowdin:
name: Crowdin Sync
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: crowdin action
uses: crowdin/github-action@v1
with:
upload_translations: false
download_translations: true
crowdin_branch_name: main
localization_branch_name: l10n_main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}

View File

@@ -9,11 +9,20 @@ on:
schedule: schedule:
- cron: '20 0 * * *' - cron: '20 0 * * *'
push: push:
branches: [ "main" ] branches:
- main
- feature/**
# Publish semver tags as releases. # Publish semver tags as releases.
tags: [ 'v*.*.*' ] tags: [ 'v*.*.*' ]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
pull_request: pull_request:
branches: [ "main" ] branches: [ "main" ]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
merge_group:
env: env:
# Use docker.io for Docker Hub if empty # Use docker.io for Docker Hub if empty
@@ -23,9 +32,28 @@ env:
jobs: jobs:
build: pre-commit:
name: Linting Checks
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.x
-
name: Check files
uses: pre-commit/action@v3.0.1
build:
name: Docker Build & Push
if: github.repository == 'gethomepage/homepage'
runs-on: self-hosted runs-on: self-hosted
needs:
- pre-commit
permissions: permissions:
contents: read contents: read
packages: write packages: write
@@ -35,7 +63,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
# Install the cosign tool except on PR # Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer # https://github.com/sigstore/cosign-installer
@@ -48,12 +76,12 @@ jobs:
# Setup QEMU # Setup QEMU
# https://github.com/marketplace/actions/docker-setup-buildx#with-qemu # https://github.com/marketplace/actions/docker-setup-buildx#with-qemu
- name: Setup QEMU - name: Setup QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v3
# Workaround: https://github.com/docker/build-push-action/issues/461 # Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v3
# This step is being disabled because the runner is on a self-hosted machine # This step is being disabled because the runner is on a self-hosted machine
# where the cache will stick between runs. # where the cache will stick between runs.
# - name: Cache Docker layers # - name: Cache Docker layers
@@ -68,7 +96,7 @@ jobs:
# https://github.com/docker/login-action # https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }} - name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: docker/login-action@v2 uses: docker/login-action@v3
with: with:
registry: ${{ env.REGISTRY }} registry: ${{ env.REGISTRY }}
username: ${{ github.actor }} username: ${{ github.actor }}
@@ -78,7 +106,7 @@ jobs:
# https://github.com/docker/metadata-action # https://github.com/docker/metadata-action
- name: Extract Docker metadata - name: Extract Docker metadata
id: meta id: meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v5
with: with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: | flavor: |
@@ -88,10 +116,10 @@ jobs:
# https://github.com/docker/build-push-action # https://github.com/docker/build-push-action
- name: Build and push Docker image - name: Build and push Docker image
id: build-and-push id: build-and-push
uses: docker/build-push-action@v4 uses: docker/build-push-action@v5
with: with:
context: . context: .
push: ${{ github.event_name != 'pull_request' }} push: ${{ github.event_name != 'pull_request' && !(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/feature')) }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
build-args: | build-args: |

100
.github/workflows/docs-publish.yml vendored Normal file
View File

@@ -0,0 +1,100 @@
name: Docs
on:
push:
tags: [ 'v*.*.*' ]
branches: ['main']
paths:
- 'docs/**'
- 'mkdocs.yml'
pull_request:
paths:
- 'docs/**'
- 'mkdocs.yml'
merge_group:
workflow_dispatch:
permissions:
contents: write
jobs:
pre-commit:
name: Linting Checks
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
uses: actions/checkout@v4
-
name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.x
-
name: Check files
uses: pre-commit/action@v3.0.1
test:
name: Test Build
if: github.repository == 'gethomepage/homepage' && github.event_name == 'pull_request'
runs-on: ubuntu-latest
needs:
- pre-commit
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: sudo apt-get install pngquant
- run: pip install mike
- run: pip install mkdocs-material
- name: Test Docs Build
run: MKINSIDERS=false mkdocs build
deploy:
name: Build & Deploy
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
needs:
- pre-commit
steps:
- uses: actions/checkout@v4
with:
ref: main
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: sudo apt-get install pngquant
- run: pip install mike==2.0.0
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
- name: Set Git config
run: |
git config --global user.name "GitHub Action"
git config --global user.email "action@github.com"
- name: Sync gh-pages
run: |
git fetch origin gh-pages
git checkout gh-pages
git pull origin gh-pages
git checkout main
- name: Docs Deploy for Main
if: github.ref == 'refs/heads/main'
run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}}
- name: Docs Deploy for Tags
if: github.ref != 'refs/heads/main'
run: MKINSIDERS=true mike deploy --update --push ${{github.ref_name}} latest
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}

280
.github/workflows/repo-maintenance.yml vendored Normal file
View File

@@ -0,0 +1,280 @@
name: 'Repository Maintenance'
on:
schedule:
- cron: '0 3 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
discussions: write
concurrency:
group: lock
jobs:
stale:
name: 'Stale'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
days-before-stale: 7
days-before-close: 14
stale-issue-label: stale
stale-pr-label: stale
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details.
lock-threads:
name: 'Lock Old Threads'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
issue-inactive-days: '30'
pr-inactive-days: '30'
discussion-inactive-days: '30'
log-output: true
issue-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
pr-comment: >
This pull request has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
discussion-comment: >
This discussion has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
close-answered-discussions:
name: 'Close Answered Discussions'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const query = `query($owner:String!, $name:String!) {
repository(owner:$owner, name:$name){
discussions(first:100, answered:true, states:[OPEN]) {
nodes {
id,
number
}
}
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
}
const result = await github.graphql(query, variables)
console.log(`Found ${result.repository.discussions.nodes.length} open answered discussions`)
for (const discussion of result.repository.discussions.nodes) {
console.log(`Closing discussion #${discussion.number} (${discussion.id})`)
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
clientMutationId
}
}`;
const commentVariables = {
discussion: discussion.id,
body: 'This discussion has been automatically closed because it was marked as answered. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
}
await github.graphql(addCommentMutation, commentVariables)
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
clientMutationId
}
}`;
const closeVariables = {
discussion: discussion.id,
reason: "RESOLVED",
}
await github.graphql(closeDiscussionMutation, closeVariables)
await sleep(1000)
}
close-outdated-discussions:
name: 'Close Outdated Discussions'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const CUTOFF_DAYS = 180;
const cutoff = new Date();
cutoff.setDate(cutoff.getDate() - CUTOFF_DAYS);
const query = `query(
$owner:String!,
$name:String!,
$supportCategory:ID!,
$generalCategory:ID!,
) {
supportDiscussions: repository(owner:$owner, name:$name){
discussions(
categoryId:$supportCategory,
last:50,
answered:false,
states:[OPEN],
) {
nodes {
id,
number,
updatedAt
}
},
},
generalDiscussions: repository(owner:$owner, name:$name){
discussions(
categoryId:$generalCategory,
last:50,
states:[OPEN],
) {
nodes {
id,
number,
updatedAt
}
}
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
supportCategory: "DIC_kwDOH31rQM4CRErR",
generalCategory: "DIC_kwDOH31rQM4CRErQ"
}
const result = await github.graphql(query, variables);
const combinedDiscussions = [
...result.supportDiscussions.discussions.nodes,
...result.generalDiscussions.discussions.nodes,
]
console.log(`Checking ${combinedDiscussions.length} open discussions`);
for (const discussion of combinedDiscussions) {
if (new Date(discussion.updatedAt) < cutoff) {
console.log(`Closing outdated discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt}`);
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
clientMutationId
}
}`;
const commentVariables = {
discussion: discussion.id,
body: 'This discussion has been automatically closed due to inactivity. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
}
await github.graphql(addCommentMutation, commentVariables);
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
clientMutationId
}
}`;
const closeVariables = {
discussion: discussion.id,
reason: "OUTDATED",
}
await github.graphql(closeDiscussionMutation, closeVariables);
await sleep(1000);
}
}
close-unsupported-feature-requests:
name: 'Close Unsupported Feature Requests'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const CUTOFF_1_DAYS = 180;
const CUTOFF_1_COUNT = 5;
const CUTOFF_2_DAYS = 365;
const CUTOFF_2_COUNT = 10;
const cutoff1Date = new Date();
cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS);
const cutoff2Date = new Date();
cutoff2Date.setDate(cutoff2Date.getDate() - CUTOFF_2_DAYS);
const query = `query(
$owner:String!,
$name:String!,
$featureRequestsCategory:ID!,
) {
repository(owner:$owner, name:$name){
discussions(
categoryId:$featureRequestsCategory,
last:100,
states:[OPEN],
) {
nodes {
id,
number,
updatedAt,
upvoteCount,
}
},
}
}`;
const variables = {
owner: context.repo.owner,
name: context.repo.repo,
featureRequestsCategory: "DIC_kwDOH31rQM4CRErS"
}
const result = await github.graphql(query, variables);
for (const discussion of result.repository.discussions.nodes) {
const discussionDate = new Date(discussion.updatedAt);
if ((discussionDate < cutoff1Date && discussion.upvoteCount < CUTOFF_1_COUNT) ||
(discussionDate < cutoff2Date && discussion.upvoteCount < CUTOFF_2_COUNT)) {
console.log(`Closing discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt} with votes ${discussion.upvoteCount}`);
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
clientMutationId
}
}`;
const commentVariables = {
discussion: discussion.id,
body: 'This discussion has been automatically closed due to lack of community support. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
}
await github.graphql(addCommentMutation, commentVariables);
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
clientMutationId
}
}`;
const closeVariables = {
discussion: discussion.id,
reason: "OUTDATED",
}
await github.graphql(closeDiscussionMutation, closeVariables);
await sleep(1000);
}
}

5
.gitignore vendored
View File

@@ -46,4 +46,9 @@ next-env.d.ts
# IDEs # IDEs
/.idea/ /.idea/
# MkDocs documentation
site*/
.cache/
# venv
.venv/

19
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,19 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
exclude: "(^mkdocs\\.yml$)"
- id: check-added-large-files
- repo: https://github.com/pre-commit/mirrors-prettier
rev: 'v3.0.3'
hooks:
- id: prettier
types_or:
- javascript
- markdown
- jsx

1
.prettierrc Normal file
View File

@@ -0,0 +1 @@
{}

2
.vscode/launch.json vendored
View File

@@ -16,4 +16,4 @@
} }
} }
] ]
} }

17
.vscode/settings.json vendored
View File

@@ -2,5 +2,18 @@
"files.exclude": { "files.exclude": {
"**/.next": true, "**/.next": true,
"**/node_modules": true "**/node_modules": true
} },
} "yaml.schemas": {
"https://squidfunk.github.io/mkdocs-material/schema.json": "mkdocs.yml"
},
"yaml.customTags": [
"!ENV scalar",
"!ENV sequence",
"tag:yaml.org,2002:python/name:material.extensions.emoji.to_svg",
"tag:yaml.org,2002:python/name:material.extensions.emoji.twemoji",
"tag:yaml.org,2002:python/name:pymdownx.superfences.fence_code_format"
],
"[python]": {
"editor.defaultFormatter": "ms-python.autopep8"
},
}

View File

@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our Examples of behavior that contributes to a positive environment for our
community include: community include:
* Demonstrating empathy and kindness toward other people - Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences - Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback - Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, - Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience and learning from the experience
* Focusing on what is best not just for us as individuals, but for the - Focusing on what is best not just for us as individuals, but for the
overall community overall community
Examples of unacceptable behavior include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or - The use of sexualized language or imagery, and sexual attention or
advances of any kind advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks - Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment - Public or private harassment
* Publishing others' private information, such as a physical or email - Publishing others' private information, such as a physical or email
address, without their explicit permission address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a - Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Enforcement Responsibilities ## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban ### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community **Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals. individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within **Consequence**: A permanent ban from any sort of public interaction within

View File

@@ -1,4 +1,5 @@
# Contributing to Homepage # Contributing to Homepage
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug - Reporting a bug
@@ -8,16 +9,20 @@ We love your input! We want to make contributing to this project as easy and tra
- Becoming a maintainer - Becoming a maintainer
## We Develop with Github ## We Develop with Github
We use github to host code, to track issues and feature requests, as well as accept pull requests. We use github to host code, to track issues and feature requests, as well as accept pull requests.
## Any contributions you make will be under the GNU General Public License v3.0 ## Any contributions you make will be under the GNU General Public License v3.0
In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern. In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern.
## Report bugs using Github's [issues](https://github.com/benphelps/homepage/issues) ## Report bugs using Github [discussions](https://github.com/gethomepage/homepage/discussions)
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/benphelps/homepage/issues/new); it's that easy!
We use GitHub discussions to triage bugs. Report a bug by [opening a new discussion](https://github.com/gethomepage/homepage/discussions/new?category=support); it's that easy! Please do not open an issue unless instructed to do so by a project maintainer.
## Write bug reports with detail, background, and sample configurations ## Write bug reports with detail, background, and sample configurations
Homepage includes a lot of configuration options and is often deploying in larger systems. Please include as much information (configurations, deployment method, Docker & API versions, etc) as you can when reporting an issue.
Homepage includes a lot of configuration options and is often deploying in larger systems. Please include as much information (configurations, deployment method, Docker & API versions, etc) as you can when reporting an issue.
**Great Bug Reports** tend to have: **Great Bug Reports** tend to have:
@@ -29,16 +34,34 @@ Homepage includes a lot of configuration options and is often deploying in large
- What actually happens - What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work) - Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
People *love* thorough bug reports. I'm not even kidding. People _love_ thorough bug reports. I'm not even kidding.
## Development Guidelines ## Development Guidelines
Please see the [documentation regarding development](https://gethomepage.dev/en/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/en/more/development/#service-widget-guidelines) if you are considering making one.
Please see the [documentation regarding development](https://gethomepage.dev/latest/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/latest/more/development/#service-widget-guidelines) if you are considering making one.
## Use a Consistent Coding Style ## Use a Consistent Coding Style
This project follows the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript), please follow it when submitting pull requests.
Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/latest/more/development/#code-formatting-with-pre-commit-hooks).
## License ## License
By contributing, you agree that your contributions will be licensed under its GNU General Public License. By contributing, you agree that your contributions will be licensed under its GNU General Public License.
## References ## References
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md) This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md)
# Automatic Respository Maintenance
The homepage team appreciates all effort and interest from the community in filing bug reports, creating feature requests, sharing ideas and helping other community members. That said, in an effort to keep the repository organized and managebale the project uses automatic handling of certain areas:
- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity.
- Discussions with a marked answer will be automatically closed.
- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity.
- Feature requests that do not meet the following thresholds will be closed: 5 "up-votes" after 180 days of inactivity or 10 "up-votes" after 365 days.
In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns.
Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features.
Thank you all for your contributions.

View File

@@ -36,9 +36,9 @@ RUN npm run telemetry \
FROM docker.io/node:18-alpine AS runner FROM docker.io/node:18-alpine AS runner
LABEL org.opencontainers.image.title "Homepage" LABEL org.opencontainers.image.title "Homepage"
LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations." LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations."
LABEL org.opencontainers.image.url="https://github.com/benphelps/homepage" LABEL org.opencontainers.image.url="https://github.com/gethomepage/homepage"
LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homepage/wiki' LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/homepage/wiki'
LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage' LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage'
LABEL org.opencontainers.image.licenses='Apache-2.0' LABEL org.opencontainers.image.licenses='Apache-2.0'
ENV NODE_ENV production ENV NODE_ENV production

154
README.md
View File

@@ -6,71 +6,60 @@
</p> </p>
<p align="center"> <p align="center">
A modern <em>(fully static, fast)</em>, secure <em>(fully proxied)</em>, highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels). A modern, <em>fully static, fast</em>, secure <em>fully proxied</em>, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.
</p> </p>
<p align="center"> <p align="center">
<img src="images/1.png" /> <img src="images/1.png?v=2" />
</p> </p>
<p align="center"> <p align="center">
<img src="images/2.png" width="19%" /> <a href="https://github.com/gethomepage/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/gethomepage/homepage/docker-publish.yml"></a>
<img src="images/3.png" width="19%" /> &nbsp;
<img src="images/4.png" width="19%" /> <a href="https://crowdin.com/project/gethomepage" target="_blank"><img src="https://badges.crowdin.net/gethomepage/localized.svg"></a>
<img src="images/5.png" width="19%" /> &nbsp;
<img src="images/6.png" width="19%" /> <a href="https://discord.gg/k4ruYNrudu"><img alt="Discord" src="https://img.shields.io/discord/1019316731635834932"></a>
&nbsp;
<a href="http://gethomepage.dev/latest/" title="Docs"><img title="Docs" src="https://github.com/gethomepage/homepage/actions/workflows/docs-publish.yml/badge.svg"/></a>
&nbsp;
<a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a>
</p> </p>
<p align="center"> # Features
<a href="https://discord.gg/k4ruYNrudu"><img src="https://img.shields.io/badge/Discord - Chat-blue?logo=discord&logoColor=white" /></a>
<a href="https://paypal.me/phelpsben" title="Donate"><img src="https://img.shields.io/badge/PayPal - Donate-blue?logo=paypal&logoColor=white" alt="Linkedin - phelpsben"></a>
</p>
<p align="center"> With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it.
<a href="https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml"><img src="https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml/badge.svg" alt="Docker"></a>
<a href="https://hosted.weblate.org/engage/homepage/"><img src="https://hosted.weblate.org/widgets/homepage/-/homepage/svg-badge.svg" alt="Weblate"></a>
</p>
## Features - **Fast** - The site is statically generated at build time for instant load times.
- **Secure** - All API requests to backend services are proxied, keeping your API keys hidden. Constantly reviewed for security by the community.
- **For Everyone** - Images built for AMD64, ARM64, ARMv7, and ARMv6.
- **Full i18n** - Support for over 40 languages.
- **Service & Web Bookmarks** - Add custom links to the homepage.
- **Docker Integration** - Container status and stats. Automatic service discovery via labels.
- **Service Integration** - Over 100 service integrations, including popular starr and self-hosted apps.
- **Information & Utility Widgets** - Weather, time, date, search, and more.
- **And much more...**
- **Fast!** The entire site is statically generated at build time, so you can expect instant load times ## Docker Integration
- **Secure!** Every API request to backend services goes through a proxy server, so your API keys are never exposed to the frontend client.
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
- Full i18n support with translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue
- Want to help translate? [Join the Weblate project](https://hosted.weblate.org/engage/homepage/)
- Service & Web Bookmarks
- Docker Integration
- Container status (Running / Stopped) & statistics (CPU, Memory, Network)
- Automatic service discovery (via labels)
- Service Integration
- Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli, Plex and more
- Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent and more
- Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox and more
- Information Providers
- Coin Market Cap, Mastodon and more
- Information & Utility Widgets
- System Stats (Disk, CPU, Memory)
- Weather via [OpenWeatherMap](https://openweathermap.org/) or [Open-Meteo](https://open-meteo.com/)
- Web Search Bar
- UniFi Console, Glances and more
- Instant "Quick-launch" search
- Customizable
- 21 theme colors with light and dark mode support
- Background image support
- Column and Row layout options
## Support & Suggestions Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker](https://gethomepage.dev/latest/installation/docker/) page for more information.
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/benphelps/homepage/discussions) page. ## Service Widgets
For bug reports, please open an issue on the [Issues](https://github.com/benphelps/homepage/issues) page. Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/latest/widgets/) page for more information.
## Getting Started ## Information Widgets
For configuration options, examples and more, [please check out the homepage site](http://gethomepage.dev). Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the [Information Providers](https://gethomepage.dev/latest/widgets/) page for more information.
### With Docker ## Customization
Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the [Settings](https://gethomepage.dev/latest/configs/settings/) page for more information.
# Getting Started
For configuration options, examples and more, [please check out the homepage documentation](http://gethomepage.dev).
## With Docker
Using docker compose: Using docker compose:
@@ -78,27 +67,38 @@ Using docker compose:
version: "3.3" version: "3.3"
services: services:
homepage: homepage:
image: ghcr.io/benphelps/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
environment:
PUID: 1000 -- optional, your user id
PGID: 1000 -- optional, your group id
ports: ports:
- 3000:3000 - 3000:3000
volumes: volumes:
- /path/to/config:/app/config # Make sure your local config directory exists - /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 - /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
restart: unless-stopped
``` ```
or docker run: or docker run:
```bash ```bash
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/benphelps/homepage:latest docker run --name homepage \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-v /path/to/config:/app/config \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
ghcr.io/gethomepage/homepage:latest
``` ```
### With Node ## With Node
First, clone the repository: First, clone the repository:
```bash ```bash
git clone https://github.com/benphelps/homepage.git git clone https://github.com/gethomepage/homepage.git
``` ```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like): Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
@@ -110,22 +110,23 @@ pnpm build
If this is your first time starting, copy the `src/skeleton` directory to `config/` to populate initial example config files. If this is your first time starting, copy the `src/skeleton` directory to `config/` to populate initial example config files.
Finally, run the server: Finally, run the server in production mode:
```bash ```bash
pnpm start pnpm start
``` ```
## Configuration or development mode:
Configuration files will be generated and placed on the first request. ```bash
pnpm dev
```
Configuration is done in the /config directory using .yaml files. Refer to each config for # Configuration
the specific configuration options.
You may also check [the homepage site](http://gethomepage.dev) for detailed configuration instructions, examples and more. Please refer to the [homepage documentation](https://gethomepage.dev/) website for more information. Everything you need to know about configuring Homepage is there. Please read everything carefully before asking for help, as most questions are answered there or are simple YAML configuration issues.
## Development # Development
Install NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!): Install NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!):
@@ -141,21 +142,32 @@ pnpm dev
Open [http://localhost:3000](http://localhost:3000) to start. Open [http://localhost:3000](http://localhost:3000) to start.
This is a [Next.js](https://nextjs.org/) application, see their documentation for more information: This is a [Next.js](https://nextjs.org/) application, see their documentation for more information.
## Contributors # Documentation
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> The homepage documentation is available at [https://gethomepage.dev/](https://gethomepage.dev/).
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- markdownlint-restore --> Homepage uses Material for MkDocs for documentation. To run the documentation locally, first install the dependencies:
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END --> ```bash
pip install -r requirements.txt
```
Then run the development server:
```bash
mkdocs serve # or build, to build the static site
```
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> # Support & Suggestions
[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors)
<!-- ALL-CONTRIBUTORS-BADGE:END --> If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/gethomepage/homepage/discussions) page.
## Contributing & Contributors
Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
Thanks to the over 200 contributors who have helped make this project what it is today!
Especially huge thanks to [@shamoon](https://github.com/shamoon), who has been the backbone of this community from the very start.

6
crowdin.yml Normal file
View File

@@ -0,0 +1,6 @@
project_id_env: CROWDIN_PROJECT_ID
api_token_env: CROWDIN_PERSONAL_TOKEN
preserve_hierarchy: true
files:
- source: /public/locales/en/*.json
translation: /public/locales/%osx_locale%/%original_file_name%

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

3
docs/assets/custom.css Normal file
View File

@@ -0,0 +1,3 @@
.md-typeset[data-page-id="landing"] .md-header-anchor {
display: none;
}

BIN
docs/assets/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

37
docs/configs/bookmarks.md Normal file
View File

@@ -0,0 +1,37 @@
---
title: Bookmarks
description: Bookmark Configuration
---
Bookmarks are configured in the `bookmarks.yaml` file. They function much the same as [Services](services.md), in how groups and lists work. They're just much simpler, smaller, and contain no extra features other than being a link out.
The design of homepage expects `abbr` to be 2 letters, but is not otherwise forced.
You can also use an icon for bookmarks similar to the [options for service icons](services.md#icons). If both icon and abbreviation are supplied, the icon takes precedence.
By default, the description will use the hostname of the link, but you can override it with a custom description.
```yaml
---
- Developer:
- Github:
- abbr: GH
href: https://github.com/
- Social:
- Reddit:
- icon: reddit.png
href: https://reddit.com/
description: The front page of the internet
- Entertainment:
- YouTube:
- abbr: YT
href: https://youtube.com/
```
which renders to (depending on your theme, etc.):
<img width="1000" alt="Bookmarks" src="https://user-images.githubusercontent.com/19408/269307009-d7e45885-230f-4e07-b421-9822017ae878.png">
The default [bookmarks.yaml](https://github.com/gethomepage/homepage/blob/main/src/skeleton/bookmarks.yaml) is a working example.

View File

@@ -0,0 +1,17 @@
---
title: Custom CSS & JS
description: Adding Custom CSS or JS
---
As of version v0.6.30 homepage supports adding your own custom css & javascript. Please do so **at your own risk**.
To add custom css simply edit the `custom.css` file under your config directory, similarly for javascript you would edit `custom.js`. You can then target elements in homepage with various classes / ids to customize things to your liking.
You can also set a specific `id` for a service or bookmark to target with your custom css or javascript, e.g.
```yaml
Service:
id: myserviceid
icon: icon.png
...
```

238
docs/configs/docker.md Normal file
View File

@@ -0,0 +1,238 @@
---
title: Docker
description: Docker Configuration
---
Docker instances are configured inside the `docker.yaml` file. Both IP:PORT and Socket connections are supported.
For IP:PORT, simply make sure your Docker instance [has been configured](https://gist.github.com/styblope/dc55e0ad2a9848f2cc3307d4819d819f) to accept API traffic over the HTTP API.
```yaml
my-remote-docker:
host: 192.168.0.101
port: 2375
```
## Using Docker TLS
Since Docker supports connecting with TLS and client certificate authentication, you can include TLS details when connecting to the HTTP API. Further details of setting up Docker to accept TLS connections, and generation of the keys and certs can be found [in the Docker documentation](https://docs.docker.com/engine/security/protect-access/#use-tls-https-to-protect-the-docker-daemon-socket). The file entries are relative to the `config` directory (location of `docker.yaml` file).
```yaml
my-remote-docker:
host: 192.168.0.101
port: 275
tls:
keyFile: tls/key.pem
caFile: tls/ca.pem
certFile: tls/cert.pem
```
## Using Docker Socket Proxy
Due to security concerns with exposing the docker socket directly, you can use a [docker-socket-proxy](https://github.com/Tecnativa/docker-socket-proxy) container to expose the docker socket on a more restricted and secure API.
Here is an example docker-compose file that will expose the docker socket, and then connect to it from the homepage container:
```yaml
dockerproxy:
image: ghcr.io/tecnativa/docker-socket-proxy:latest
container_name: dockerproxy
environment:
- CONTAINERS=1 # Allow access to viewing containers
- SERVICES=1 # Allow access to viewing services (necessary when using Docker Swarm)
- TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm)
- POST=0 # Disallow any POST operations (effectively read-only)
ports:
- 127.0.0.1:2375:2375
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only
restart: unless-stopped
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
volumes:
- /path/to/config:/app/config
ports:
- 3000:3000
restart: unless-stopped
```
Then, inside of your `docker.yaml` settings file, you'd configure the docker instance like so:
```yaml
my-docker:
host: dockerproxy
port: 2375
```
## Using Socket Directly
If you'd rather use the socket directly, first make sure that you're passing the local socket into the Docker container.
!!! note
In order to use the socket directly homepage must be running as root
```yaml
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
volumes:
- /path/to/config:/app/config
- /var/run/docker.sock:/var/run/docker.sock # pass local proxy
ports:
- 3000:3000
restart: unless-stopped
```
If you're using `docker run`, this would be `-v /var/run/docker.sock:/var/run/docker.sock`.
Then, inside of your `docker.yaml` settings file, you'd configure the docker instance like so:
```yaml
my-docker:
socket: /var/run/docker.sock
```
## Services
Once you've configured your docker instances, you can then apply them to your services, to get stats and status reporting shown.
Inside of the service you'd like to connect to docker:
```yaml
- Emby:
icon: emby.png
href: "http://emby.home/"
description: Media server
server: my-docker # The docker server that was configured
container: emby # The name of the container you'd like to connect
```
## Automatic Service Discovery
Homepage features automatic service discovery for containers with the proper labels attached, all configuration options can be applied using dot notation, beginning with `homepage`.
Below is an example of the same service entry shown above, as docker labels.
```yaml
services:
emby:
image: lscr.io/linuxserver/emby:latest
container_name: emby
ports:
- 8096:8096
restart: unless-stopped
labels:
- homepage.group=Media
- homepage.name=Emby
- homepage.icon=emby.png
- homepage.href=http://emby.home/
- homepage.description=Media server
```
When your Docker instance has been properly configured, this service will be automatically discovered and added to your Homepage. **You do not need to specify the `server` or `container` values, as they will be automatically inferred.**
**When using docker swarm use _deploy/labels_**
## Widgets
You may also configure widgets, along with the standard service entry, again, using dot notation.
```yaml
labels:
- homepage.group=Media
- homepage.name=Emby
- homepage.icon=emby.png
- homepage.href=http://emby.home/
- homepage.description=Media server
- homepage.widget.type=emby
- homepage.widget.url=http://emby.home
- homepage.widget.key=yourembyapikeyhere
- homepage.widget.fields=["field1","field2"] # optional
```
You can add specify fields for e.g. the [CustomAPI](../widgets/services/customapi.md) widget by using array-style dot notation:
```yaml
labels:
- homepage.group=Media
- homepage.name=Emby
- homepage.icon=emby.png
- homepage.href=http://emby.home/
- homepage.description=Media server
- homepage.widget.type=customapi
- homepage.widget.url=http://argus.service/api/v1/service/summary/emby
- homepage.widget.mappings[0].label=Deployed Version
- homepage.widget.mappings[0].field.status=deployed_version
- homepage.widget.mappings[1].label=Latest Version
- homepage.widget.mappings[1].field.status=latest_version
```
## Docker Swarm
Docker swarm is supported and Docker services are specified with the same `server` and `container` notation. To enable swarm support you will need to include a `swarm` setting in your docker.yaml, e.g.
```yaml
my-docker:
socket: /var/run/docker.sock
swarm: true
```
For the automatic service discovery to discover all services it is important that homepage should be deployed on a manager node. Set deploy requirements to the master node in your stack yaml config, e.g.
```yaml
....
deploy:
placement:
constraints:
- node.role == manager
...
```
In order to detect every service within the Docker swarm it is necessary that service labels should be used and not container labels. Specify the homepage labels as:
```yaml
....
deploy:
labels:
- homepage.icon=foobar
...
```
## Multiple Homepage Instances
The optional field `instanceName` can be configured in [settings.md](settings.md#instance-name) to differentiate between multiple homepage instances.
To limit a label to an instance, insert `.instance.{{instanceName}}` after the `homepage` prefix.
```yaml
labels:
- homepage.group=Media
- homepage.name=Emby
- homepage.icon=emby.png
- homepage.instance.internal.href=http://emby.lan/
- homepage.instance.public.href=https://emby.mydomain.com/
- homepage.description=Media server
```
## Ordering
As of v0.6.4 discovered services can include an optional `weight` field to determine sorting such that:
- Default weight for discovered services is 0
- Default weight for configured services is their index within their group scaled by 100, i.e. (index + 1) \* 100
- If two items have the same weight value, then they will be sorted by name
## Show stats
You can show the docker stats by clicking the status indicator but this can also be controlled per-service with:
```yaml
- Example Service:
...
showStats: true
```
Also see the settings for [show docker stats](docker.md#show-docker-stats).

16
docs/configs/index.md Normal file
View File

@@ -0,0 +1,16 @@
---
title: Configuration
description: Homepage Configuration
---
Homepage uses YAML for configuration, YAML stands for "YAML Ain't Markup Language.". It's a human-readable data serialization format that's a superset of JSON. Great for config files, easy to read and write. Supports complex data types like lists and objects. **Indentation matters.** If you already use Docker Compose, you already use YAML.
Here are some tips when writing YAML:
1. **Use Indentation Carefully**: YAML relies on indentation, not brackets.
2. Avoid Tabs: Stick to spaces for indentation to avoid parsing errors. 2 spaces are common.
3. Quote Strings: Use single or double quotes for strings with special characters, this is especially important for API keys.
4. Key-Value Syntax: Use key: value format. Colon must be followed by a space.
5. Validate: Always validate your YAML with a linter before deploying.
You can find tons of online YAML validators, here's one: [https://codebeautify.org/yaml-validator](https://codebeautify.org/yaml-validator), heres another: [https://jsonformatter.org/yaml-validator](https://jsonformatter.org/yaml-validator).

143
docs/configs/kubernetes.md Normal file
View File

@@ -0,0 +1,143 @@
---
title: Kubernetes
description: Kubernetes Configuration
---
The Kubernetes connectivity has the following requirements:
- Kubernetes 1.19+
- Metrics Service
- An Ingress controller
The Kubernetes connection is configured in the `kubernetes.yaml` file. There are 3 modes to choose from:
- **disabled** - disables kubernetes connectivity
- **default** - uses the default kubeconfig [resolution](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
- **cluster** - uses a service account inside the cluster
```yaml
mode: default
```
## Services
Once the Kubernetes connection is configured, individual services can be configured to pull statistics. Only CPU and Memory are currently supported.
Inside of the service you'd like to connect to a pod:
```yaml
- Emby:
icon: emby.png
href: "http://emby.home/"
description: Media server
namespace: media # The kubernetes namespace the app resides in
app: emby # The name of the deployed app
```
The `app` field is used to create a label selector, in this example case it would match pods with the label: `app.kubernetes.io/name=emby`.
Sometimes this is insufficient for complex or atypical application deployments. In these cases, the `pod-selector` field can be used. Any field selector can be used with it, so it allows for some very powerful selection capabilities.
For instance, it can be utilized to roll multiple underlying deployments under one application to see a high-level aggregate:
```yaml
- Element Chat:
icon: matrix-light.png
href: https://chat.example.com
description: Matrix Synapse Powered Chat
app: matrix-element
namespace: comms
pod-selector: >-
app.kubernetes.io/instance in (
matrix-element,
matrix-media-repo,
matrix-media-repo-postgresql,
matrix-synapse
)
```
!!! note
A blank string as a pod-selector does not deactivate it, but will actually select all pods in the namespace. This is a useful way to capture the resource usage of a complex application siloed to a single namespace, like Longhorn.
## Automatic Service Discovery
Homepage features automatic service discovery by Ingress annotations. All configuration options can be applied using typical annotation syntax, beginning with `gethomepage.dev/`.
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: emby
annotations:
gethomepage.dev/enabled: "true"
gethomepage.dev/description: Media Server
gethomepage.dev/group: Media
gethomepage.dev/icon: emby.png
gethomepage.dev/name: Emby
gethomepage.dev/widget.type: "emby"
gethomepage.dev/widget.url: "https://emby.example.com"
gethomepage.dev/pod-selector: ""
gethomepage.dev/weight: 10 # optional
gethomepage.dev/instance: "public" # optional
spec:
rules:
- host: emby.example.com
http:
paths:
- backend:
service:
name: emby
port:
number: 8080
path: /
pathType: Prefix
```
When the Kubernetes cluster connection has been properly configured, this service will be automatically discovered and added to your Homepage. **You do not need to specify the `namespace` or `app` values, as they will be automatically inferred.**
If you are using multiple instances of homepage, an `instance` annotation can be specified to limit services to a specific instance. If no instance is provided, the service will be visible on all instances.
### Traefik IngressRoute support
Homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set:
```yaml
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: emby
annotations:
gethomepage.dev/href: "https://emby.example.com"
gethomepage.dev/enabled: "true"
gethomepage.dev/description: Media Server
gethomepage.dev/group: Media
gethomepage.dev/icon: emby.png
gethomepage.dev/app: emby-app # optional, may be needed if app.kubernetes.io/name != ingress metadata.name
gethomepage.dev/name: Emby
gethomepage.dev/widget.type: "emby"
gethomepage.dev/widget.url: "https://emby.example.com"
gethomepage.dev/pod-selector: ""
gethomepage.dev/weight: 10 # optional
gethomepage.dev/instance: "public" # optional
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`emby.example.com`)
services:
- kind: Service
name: emby
namespace: emby
port: 8080
scheme: http
strategy: RoundRobin
weight: 10
```
If the `href` attribute is not present, Homepage will ignore the specific IngressRoute.
## Caveats
Similarly to Docker service discovery, there currently is no rigid ordering to discovered services and discovered services will be displayed above those specified in the `services.yaml`.

View File

@@ -0,0 +1,40 @@
---
title: Service Widgets
description: Service Widget Configuration
---
Unless otherwise noted, URLs should not end with a `/` or other API path. Each widget will handle the path on its own.
Each service can have one widget attached to it (often matching the service type, but that's not forced).
In addition to the href of the service, you can also specify the target location in which to open that link. See [Link Target](settings.md#link-target) for more details.
Using Emby as an example, this is how you would attach the Emby service widget.
```yaml
- Emby:
icon: emby.png
href: http://emby.host.or.ip/
description: Movies & TV Shows
widget:
type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
## Field Visibility
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
**In all cases a widget will work and display all fields without specifying the `fields` property.**
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
fields: ["wanted", "queued"]
url: http://sonarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```

208
docs/configs/services.md Normal file
View File

@@ -0,0 +1,208 @@
---
title: Services
description: Service Configuration
---
Services are configured inside the `services.yaml` file. You can have any number of groups, and any number of services per group.
## Groups
Groups are defined as top-level array entries.
```yaml
- Group A:
- Service A:
href: http://localhost/
- Group B:
- Service B:
href: http://localhost/
```
<img width="1038" alt="Service Groups" src="https://user-images.githubusercontent.com/82196/187040754-28065242-4534-4409-881c-93d1921c6141.png">
## Services
Services are defined as array entries on groups,
```yaml
- Group A:
- Service A:
href: http://localhost/
- Service B:
href: http://localhost/
- Service C:
href: http://localhost/
- Group B:
- Service D:
href: http://localhost/
```
<img width="1038" alt="Service Services" src="https://user-images.githubusercontent.com/82196/187040763-038023a2-8bee-4d87-b5cc-13447e7365a4.png">
## Descriptions
Services may have descriptions,
```yaml
- Group A:
- Service A:
href: http://localhost/
description: This is my service
- Group B:
- Service B:
href: http://localhost/
description: This is another service
```
<img width="1038" alt="Service Descriptions" src="https://user-images.githubusercontent.com/82196/187040817-11a3d0eb-c997-4ef9-8f06-2d03a11332b6.png">
## Icons
Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png` or with `.svg` to use the svg version.
You can also specify prefixed icons from [Material Design Icons](https://materialdesignicons.com) with `mdi-XX` or [Simple Icons](https://simpleicons.org/) with `si-XX`.
You can specify a custom color by adding a hex color code as suffix e.g. `mdi-XX-#f0d453` or `si-XX-#a712a2`.
To use a remote icon, use the absolute URL (e.g. `https://...`).
To use a local icon, first create a Docker mount to `/app/public/icons` and then reference your icon as `/icons/myicon.png`. You will need to restart the container when adding new icons.
!!! warning
Material Design Icons for **brands** were deprecated and may be removed in the future. Using Simple Icons for brand icons will prevent any issues if / when the Material Design Icons are removed.
```yaml
- Group A:
- Sonarr:
icon: sonarr.png
href: http://sonarr.host/
description: Series management
- Group B:
- Radarr:
icon: radarr.png
href: http://radarr.host/
description: Movie management
- Group C:
- Service:
icon: mdi-flask-outline
href: http://service.host/
description: My cool service
```
<img width="1038" alt="Service Icons" src="https://user-images.githubusercontent.com/82196/187040777-da1361d7-f0c4-4531-95db-136cd00a1611.png">
## Ping
Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. Currently, only IPv4 is supported.
```yaml
- Group A:
- Sonarr:
icon: sonarr.png
href: http://sonarr.host/
ping: sonarr.host
- Group B:
- Radarr:
icon: radarr.png
href: http://radarr.host/
ping: some.other.host
```
<img width="1038" alt="Ping" src="https://github.com/gethomepage/homepage/assets/88257202/7bc13bd3-0d0b-44e3-888c-a20e069a3233">
You can also apply different styles to the ping indicator by using the `statusStyle` property, see [settings](settings.md#status-style).
## Site Monitor
Services may have an optional `siteMonitor` property (formerly `ping`) that allows you to monitor the availability of a URL you chose and have the response time displayed. You do not need to set your monitor URL equal to your href or ping URL.
!!! note
The site monitor feature works by making an http `HEAD` request to the URL, and falls back to `GET` in case that fails. It will not, for example, login if the URL requires auth or is behind e.g. Authelia. In the case of a reverse proxy and/or auth this usually requires the use of an 'internal' URL to make the site monitor feature correctly display status.
```yaml
- Group A:
- Sonarr:
icon: sonarr.png
href: http://sonarr.host/
siteMonitor: http://sonarr.host/
- Group B:
- Radarr:
icon: radarr.png
href: http://radarr.host/
siteMonitor: http://some.other.host/
```
You can also apply different styles to the site monitor indicator by using the `statusStyle` property, see [settings](settings.md#status-style).
## Docker Integration
Services may be connected to a Docker container, either running on the local machine, or a remote machine.
```yaml
- Group A:
- Service A:
href: http://localhost/
description: This is my service
server: my-server
container: my-container
- Group B:
- Service B:
href: http://localhost/
description: This is another service
server: other-server
container: other-container
```
<img width="1038" alt="Service Containers" src="https://github.com/gethomepage/homepage/assets/88257202/4c685783-52c6-4e55-afb3-affe9baac09b">
**Clicking on the status label of a service with Docker integration enabled will expand the container stats, where you can see CPU, Memory, and Network activity.**
!!! note
This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/gethomepage/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
## Service Integrations
Services may also have a service widget (or integration) attached to them, this works independently of the Docker integration.
You can find information and configuration for each of the supported integrations on the [Widgets](../widgets/index.md) page.
Here is an example of a Radarr & Sonarr service, with their respective integrations.
```yaml
- Group A:
- Sonarr:
icon: sonarr.png
href: http://sonarr.host/
description: Series management
widget:
type: sonarr
url: http://sonarr.host
key: apikeyapikeyapikeyapikeyapikey
- Group B:
- Radarr:
icon: radarr.png
href: http://radarr.host/
description: Movie management
widget:
type: radarr
url: http://radarr.host
key: apikeyapikeyapikeyapikeyapikey
```
<img width="1038" alt="Service Integrations" src="https://user-images.githubusercontent.com/82196/187040838-6cd518c2-4f08-41ef-8aa6-364df5e2660e.png">

481
docs/configs/settings.md Normal file
View File

@@ -0,0 +1,481 @@
---
title: Settings
description: Service Configuration
---
The `settings.yaml` file allows you to define application level options. For changes made to this file to take effect, you will need to regenerate the static HTML, this can be done by clicking the refresh icon in the bottom right of the page.
## Title
You can customize the title of the page if you'd like.
```yaml
title: My Awesome Homepage
```
## Start URL
You can customize the start_url as required for installable apps. The default is "/".
```yaml
startUrl: https://custom.url
```
## Background Image
!!! warning "Heads Up!"
You will need to restart the container any time you add new images, this is a limitation of the Next.js static site server.
!!! warning "Heads Up!"
Do not create a bind mount to the entire `/app/public/` directory.
If you'd like to use a background image instead of the solid theme color, you may provide a full URL to an image of your choice.
```yaml
background: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80
```
Or you may pass the path to a local image relative to e.g. `/app/public/images` directory.
For example, inside of your Docker Compose file, mount a path to where your images are kept:
```yaml
volumes:
- /my/homepage/images:/app/public/images
```
and then reference that image:
```yaml
background: /images/background.png
```
### Background Opacity & Filters
You can specify filters to apply over your background image for blur, saturation and brightness as well as opacity to blend with the background color. The first three filter settings use tailwind CSS classes, see notes below regarding the options for each. You do not need to specify all options.
```yaml
background:
image: /images/background.png
blur: sm # sm, "", md, xl... see https://tailwindcss.com/docs/backdrop-blur
saturate: 50 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate
brightness: 50 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness
opacity: 50 # 0-100
```
### Card Background Blur
You can apply a blur filter to the service & bookmark cards. Note this option is incompatible with the background blur, saturate and brightness filters.
```yaml
cardBlur: sm # sm, "", md, etc... see https://tailwindcss.com/docs/backdrop-blur
```
## Favicon
If you'd like to use a custom favicon instead of the included one, you may provide a full URL to an image of your choice.
```yaml
favicon: https://www.google.com/favicon.ico
```
Or you may pass the path to a local image relative to the `/app/public` directory. See [Background Image](#background-image) for more detailed information on how to provide your own files.
## Theme
You can configure a fixed theme (and disable the theme switcher) by passing the `theme` option, like so:
```yaml
theme: dark # or light
```
## Color Palette
You can configured a fixed color palette (and disable the palette switcher) by passing the `color` option, like so:
```yaml
color: slate
```
Supported colors are: `slate`, `gray`, `zinc`, `neutral`, `stone`, `amber`, `yellow`, `lime`, `green`, `emerald`, `teal`, `cyan`, `sky`, `blue`, `indigo`, `violet`, `purple`, `fuchsia`, `pink`, `rose`, `red`, `white`
## Layout
You can configure service and bookmarks sections to be either "column" or "row" based layouts, like so:
Assuming you have a group named `Media` in your `services.yaml` or `bookmarks.yaml` file,
```yaml
layout:
Media:
style: row
columns: 4
```
As an example, this would produce the following layout:
<img width="1260" alt="Screenshot 2022-09-15 at 8 03 57 PM" src="https://user-images.githubusercontent.com/82196/190466646-8ca94505-0fcf-4964-9687-3a6c7cd3144f.png">
### Sorting
Service groups and bookmark groups can be mixed in order, **but should use different group names**. If you do not specify any bookmark groups they will all show at the bottom of the page.
**_Using the same name for a service and bookmark group can cause unexpected behavior like a bookmark group being hidden_**
Groups will sort based on the order in the layout block. You can also mix in groups defined by docker labels, e.g.
```yaml
layout:
- Auto-Discovered1:
- Configured1:
- Configured2:
- Auto-Discovered2:
- Configured3:
style: row
columns: 3
```
### Headers
You can hide headers for each section in the layout as well by passing `header` as false, like so:
```yaml
layout:
Section A:
header: false
Section B:
style: row
columns: 3
header: false
```
### Category Icons
You can also add an icon to a category under the `layout` setting similar to the [options for service icons](services.md#icons), e.g.
```yaml
Home Management & Info:
icon: home-assistant.png
Server Tools:
icon: https://cdn-icons-png.flaticon.com/512/252/252035.png
...
```
### Icon Style
The default style for icons (e.g. `icon: mdi-XXXX`) is a gradient, or you can specify that prefixed icons match your theme with a 'flat' style using the setting below.
More information about prefixed icons can be found in [options for service icons](services.md#icons).
```yaml
iconStyle: theme # optional, defaults to gradient
```
### Tabs
Version 0.6.30 introduced a tabbed view to layouts which can be optionally specified in the layout. Tabs is only active if you set the `tab` field on at least one layout group.
Tabs are sorted based on the order in the layout block. If a group has no tab specified (and tabs are set on other groups), services and bookmarks will be shown on all tabs.
Every tab can be accessed directly by visiting Homepage URL with `#Group` (name lowercase and URI-encoded) at the end of the URL.
For example, the following would create four tabs:
```yaml
layout:
...
Bookmark Group on First Tab:
tab: First
First Service Group:
tab: First
style: row
columns: 4
Second Service Group:
tab: Second
columns: 4
Third Service Group:
tab: Third
style: row
Bookmark Group on Fourth Tab:
tab: Fourth
Service Group on every Tab:
style: row
columns: 4
```
### Five Columns
You can add a fifth column to services (when `style: columns` which is default) by adding:
```yaml
fiveColumns: true
```
By default homepage will max out at 4 columns for services with `columns` style
### Collapsible sections
You can disable the collapsible feature of services & bookmarks by adding:
```yaml
disableCollapse: true
```
By default the feature is enabled.
### Initially collapsed sections
You can initially collapse sections by adding the `initiallyCollapsed` option to the layout group.
```yaml
layout:
Section A:
initiallyCollapsed: true
```
This can also be set globaly using the `groupsInitiallyCollapsed` option.
```yaml
groupsInitiallyCollapsed: true
```
The value set on a group will overwrite the global setting.
By default the feature is disabled.
### Use Equal Height Cards
You can enable equal height cards for groups of services, this will make all cards in a row the same height.
Global setting in `settings.yaml`:
```yaml
useEqualHeights: true
```
Per layout group in `settings.yaml`:
```yaml
useEqualHeights: false
layout:
...
Group Name:
useEqualHeights: true # overrides global setting
```
By default the feature is disabled
## Header Style
There are currently 4 options for header styles, you can see each one below.
<img width="1000" alt="underlined" src="https://user-images.githubusercontent.com/82196/194725622-39ce271c-34e5-414d-be53-62d221811f88.png">
```yaml
headerStyle: underlined # default style
```
---
<img width="1000" alt="boxed" src="https://user-images.githubusercontent.com/82196/194725645-abcb8ed9-d017-416f-9e74-cc5642fa982c.png">
```yaml
headerStyle: boxed
```
---
<img width="1000" alt="clean" src="https://user-images.githubusercontent.com/82196/194725650-7a86e818-172d-4d0f-9861-5eae7fecb50a.png">
```yaml
headerStyle: clean
```
---
<img width="1000" alt="boxedWidgets" src="https://user-images.githubusercontent.com/5442891/232258758-ed5262d6-f940-462c-b39e-00e54c19b9ce.png">
```yaml
headerStyle: boxedWidgets
```
## Base URL
In some proxy configurations, it may be necessary to set the documents base URL. You can do this by providing a `base` value, like so:
```yaml
base: http://host.local/homepage
```
**_The URL must be a full, absolute URL, or it will be ignored by the browser._**
## Language
Set your desired language using:
```yaml
language: fr
```
Currently supported languages: ca, de, en, es, fr, he, hr, hu, it, nb-NO, nl, pt, ru, sv, vi, zh-CN, zh-Hant
You can also specify locales e.g. for the DateTime widget, e.g. en-AU, en-GB, etc.
## Link Target
Changes the behaviour of links on the homepage,
```yaml
target: _blank # Possible options include _blank, _self, and _top
```
Use `_blank` to open links in a new tab, `_self` to open links in the same tab, and `_top` to open links in a new window.
This can also be set for individual services. Note setting this at the service level overrides any setting in settings.json, e.g.:
```yaml
- Example Service:
href: https://example.com/
...
target: _self
```
## Providers
The `providers` section allows you to define shared API provider options and secrets. Currently this allows you to define your weather API keys in secret and is also the location of the Longhorn URL and credentials.
```yaml
providers:
openweathermap: openweathermapapikey
weatherapi: weatherapiapikey
longhorn:
url: https://longhorn.example.com
username: admin
password: LonghornPassword
```
You can then pass `provider` instead of `apiKey` in your widget configuration.
```yaml
- weather:
latitude: 50.449684
longitude: 30.525026
provider: weatherapi
```
## Quick Launch
You can use the 'Quick Launch' feature to search services, perform a web search or open a URL. To use Quick Launch, just start typing while on your homepage (as long as the search widget doesn't have focus).
<img width="1000" alt="quicklaunch" src="https://user-images.githubusercontent.com/4887959/216880811-90ff72cb-2990-4475-889b-7c3a31e6beef.png">
There are a few optional settings for the Quick Launch feature:
- `searchDescriptions`: which lets you control whether item descriptions are included in searches. This is off by default. When enabled, results that match the item name will be placed above those that only match the description.
- `hideInternetSearch`: disable automatically including the currently-selected web search (e.g. from the widget) as a Quick Launch option. This is false by default, enabling the feature.
- `showSearchSuggestions`: shows search suggestions for the internet search. This value will be inherited from the search widget if it is not specified. If it is not specified there either, it will default to false.
- `hideVisitURL`: disable detecting and offering an option to open URLs. This is false by default, enabling the feature.
```yaml
quicklaunch:
searchDescriptions: true
hideInternetSearch: true
showSearchSuggestions: true
hideVisitURL: true
```
## Homepage Version
By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so:
```yaml
hideVersion: true
```
## Log Path
By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written.
```yaml
logpath: /logfile/path
```
By default, logs are sent both to `stdout` and to a file at the path specified. This can be changed by setting the `LOG_TARGETS` environment variable to one of `both` (default), `stdout` or `file`.
## Show Docker Stats
You can show all docker stats expanded in `settings.yaml`:
```yaml
showStats: true
```
or per-service (`services.yaml`) with:
```yaml
- Example Service:
...
showStats: true
```
If you have both set the per-service settings take precedence.
## Status Style
You can choose from the following styles for docker or k8s status, site monitor and ping: `dot` or `basic`
- The default is no value, and displays the monitor and ping response time in ms and the docker / k8s container status
- `dot` shows a green dot for a successful monitor ping or healthy status.
- `basic` shows either UP or DOWN for monitor & ping
For example:
```yaml
statusStyle: "dot"
```
or per-service (`services.yaml`) with:
```yaml
- Example Service:
...
statusStyle: 'dot'
```
If you have both set, the per-service settings take precedence.
## Instance Name
Name used by automatic docker service discovery to differentiate between multiple homepage instances.
For example:
```yaml
instanceName: public
```
## Hide Widget Error Messages
Hide the visible API error messages either globally in `settings.yaml`:
```yaml
hideErrors: true
```
or per service widget (`services.yaml`) with:
```yaml
- Example Service:
...
widget:
...
hideErrors: true
```
If either value is set to true, the error message will be hidden.

19
docs/index.md Normal file
View File

@@ -0,0 +1,19 @@
---
title: Home
hide:
- navigation
- toc
- path
---
#
<div style="margin-top: -100px;"></div>
<p align="center" style="max-width: 75%; margin: 0 auto; display: block;" markdown>
![Alt text](assets/banner_dark@2x.png#only-light)
![Alt text](assets/banner_light@2x.png#only-dark)
A modern, <em>fully static, fast</em>, secure <em>fully proxied</em>, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.
![Alt text](assets/homepage_demo.png)

View File

@@ -0,0 +1,57 @@
---
title: Docker Installation
description: Install and run homepage from Docker
---
Using docker compose:
```yaml
version: "3.3"
services:
homepage:
image: ghcr.io/gethomepage/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 # (optional) For docker integrations
```
### Running as non-root
By default, the Homepage container runs as root. Homepage also supports running your container as non-root via the standard `PUID` and `PGID` environment variables. When using these variables, make sure that any volumes mounted in to the container have the correct ownership and permissions set.
_Using the docker socket directly is not the recommended method of integration and requires either running homepage as root or that the user be part of the docker group_
In the docker compose example below, the environment variables `$PUID` and `$PGID` are set in a `.env` file.
```yaml
version: "3.3"
services:
homepage:
image: ghcr.io/gethomepage/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 # (optional) For docker integrations, see alternative methods
environment:
PUID: $PUID
PGID: $PGID
```
### With Docker Run
```bash
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
```
### Using Environment Secrets
You can also include environment variables in your config files to protect sensitive information. Note:
- Environment variables must start with `HOMEPAGE_VAR_` or `HOMEPAGE_FILE_`
- 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

View File

@@ -0,0 +1,25 @@
---
title: Installation
description: Docs intro
---
<p>
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
</p>
<br>
<div class="grid cards" style="margin: 0 auto;" markdown>
:simple-docker: [&nbsp; Install on Docker :octicons-arrow-right-24:](docker.md)
{ .card }
:simple-kubernetes: [&nbsp; Install on Kubernetes :octicons-arrow-right-24:](k8s.md)
{ .card }
:simple-unraid: [&nbsp; Install on UNRAID :octicons-arrow-right-24:](unraid.md)
{ .card }
:simple-nextdotjs: [&nbsp; Building from source :octicons-arrow-right-24:](source.md)
{ .card }
</div>

393
docs/installation/k8s.md Normal file
View File

@@ -0,0 +1,393 @@
---
title: Kubernetes Installation
description: Install on Kubernetes
---
## Install with Helm
There is an [unofficial helm chart](https://github.com/jameswynn/helm-charts/tree/main/charts/homepage) that creates all the necessary manifests, including the service account and RBAC entities necessary for service discovery.
```sh
helm repo add jameswynn https://jameswynn.github.io/helm-charts
helm install homepage jameswynn/homepage -f values.yaml
```
The helm chart allows for all the configurations to be inlined directly in your `values.yaml`:
```yaml
config:
bookmarks:
- Developer:
- Github:
- abbr: GH
href: https://github.com/
services:
- My First Group:
- My First Service:
href: http://localhost/
description: Homepage is awesome
- My Second Group:
- My Second Service:
href: http://localhost/
description: Homepage is the best
- My Third Group:
- My Third Service:
href: http://localhost/
description: Homepage is 😎
widgets:
# show the kubernetes widget, with the cluster summary and individual nodes
- kubernetes:
cluster:
show: true
cpu: true
memory: true
showLabel: true
label: "cluster"
nodes:
show: true
cpu: true
memory: true
showLabel: true
- search:
provider: duckduckgo
target: _blank
kubernetes:
mode: cluster
settings:
# The service account is necessary to allow discovery of other services
serviceAccount:
create: true
name: homepage
# This enables the service account to access the necessary resources
enableRbac: true
ingress:
main:
enabled: true
annotations:
# Example annotations to add Homepage to your Homepage!
gethomepage.dev/enabled: "true"
gethomepage.dev/name: "Homepage"
gethomepage.dev/description: "Dynamically Detected Homepage"
gethomepage.dev/group: "Dynamic"
gethomepage.dev/icon: "homepage.png"
hosts:
- host: homepage.example.com
paths:
- path: /
pathType: Prefix
```
## Install with Kubernetes Manifests
If you don't want to use the unofficial Helm chart, you can also create your own Kubernetes manifest(s) and apply them with `kubectl apply -f filename.yaml`.
Here's a working example of the resources you need:
#### ServiceAccount
```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
secrets:
- name: homepage
```
#### Secret
```yaml
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
annotations:
kubernetes.io/service-account.name: homepage
```
#### ConfigMap
```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
data:
kubernetes.yaml: |
mode: cluster
settings.yaml: ""
#settings.yaml: |
# providers:
# longhorn:
# url: https://longhorn.my.network
custom.css: ""
custom.js: ""
bookmarks.yaml: |
- Developer:
- Github:
- abbr: GH
href: https://github.com/
services.yaml: |
- My First Group:
- My First Service:
href: http://localhost/
description: Homepage is awesome
- My Second Group:
- My Second Service:
href: http://localhost/
description: Homepage is the best
- My Third Group:
- My Third Service:
href: http://localhost/
description: Homepage is 😎
widgets.yaml: |
- kubernetes:
cluster:
show: true
cpu: true
memory: true
showLabel: true
label: "cluster"
nodes:
show: true
cpu: true
memory: true
showLabel: true
- resources:
backend: resources
expanded: true
cpu: true
memory: true
- search:
provider: duckduckgo
target: _blank
docker.yaml: ""
```
#### ClusterRole and ClusterRoleBinding
```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: homepage
labels:
app.kubernetes.io/name: homepage
rules:
- apiGroups:
- ""
resources:
- namespaces
- pods
- nodes
verbs:
- get
- list
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
verbs:
- get
- list
- apiGroups:
- traefik.containo.us
resources:
- ingressroutes
verbs:
- get
- list
- apiGroups:
- metrics.k8s.io
resources:
- nodes
- pods
verbs:
- get
- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: homepage
labels:
app.kubernetes.io/name: homepage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: homepage
subjects:
- kind: ServiceAccount
name: homepage
namespace: default
```
#### Service
```yaml
apiVersion: v1
kind: Service
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
annotations:
spec:
type: ClusterIP
ports:
- port: 3000
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/name: homepage
```
#### Deployment
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
spec:
revisionHistoryLimit: 3
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels:
app.kubernetes.io/name: homepage
template:
metadata:
labels:
app.kubernetes.io/name: homepage
spec:
serviceAccountName: homepage
automountServiceAccountToken: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
containers:
- name: homepage
image: "ghcr.io/gethomepage/homepage:latest"
imagePullPolicy: Always
ports:
- name: http
containerPort: 3000
protocol: TCP
volumeMounts:
- mountPath: /app/config/custom.js
name: homepage-config
subPath: custom.js
- mountPath: /app/config/custom.css
name: homepage-config
subPath: custom.css
- mountPath: /app/config/bookmarks.yaml
name: homepage-config
subPath: bookmarks.yaml
- mountPath: /app/config/docker.yaml
name: homepage-config
subPath: docker.yaml
- mountPath: /app/config/kubernetes.yaml
name: homepage-config
subPath: kubernetes.yaml
- mountPath: /app/config/services.yaml
name: homepage-config
subPath: services.yaml
- mountPath: /app/config/settings.yaml
name: homepage-config
subPath: settings.yaml
- mountPath: /app/config/widgets.yaml
name: homepage-config
subPath: widgets.yaml
- mountPath: /app/config/logs
name: logs
volumes:
- name: homepage-config
configMap:
name: homepage
- name: logs
emptyDir: {}
```
#### Ingress
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: homepage
namespace: default
labels:
app.kubernetes.io/name: homepage
annotations:
gethomepage.dev/description: Dynamically Detected Homepage
gethomepage.dev/enabled: "true"
gethomepage.dev/group: Cluster Management
gethomepage.dev/icon: homepage.png
gethomepage.dev/name: Homepage
spec:
rules:
- host: "homepage.my.network"
http:
paths:
- path: "/"
pathType: Prefix
backend:
service:
name: homepage
port:
number: 3000
```
### Multiple Replicas
If you plan to deploy homepage with a replica count greater than 1, you may
want to consider enabling sticky sessions on the homepage route. This will
prevent unnecessary re-renders on page loads and window / tab focusing. The
procedure for enabling sticky sessions depends on your Ingress controller. Below
is an example using Traefik as the Ingress controller.
```
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: homepage.example.com
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`homepage.example.com`)
services:
- kind: Service
name: homepage
port: 3000
sticky:
cookie:
httpOnly: true
secure: true
sameSite: none
```

View File

@@ -0,0 +1,25 @@
---
title: Source Installation
description: Install and run homepage from source
---
First, clone the repository:
```bash
git clone https://github.com/gethomepage/homepage.git
```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
```bash
pnpm install
pnpm build
```
If this is your first time starting, copy the `src/skeleton` directory to `config/` to populate initial example config files.
Finally, run the server:
```bash
pnpm start
```

View File

@@ -0,0 +1,45 @@
---
title: UNRAID Installation
description: Install and run homepage on UNRAID
---
Homepage has an UNRAID community package that you may use to install homepage. This is the easiest way to get started with homepage on UNRAID.
## Install the Plugin
- In the UNRAID webGUI, go to the **Apps** tab.
- In the search bar, search for `homepage`.
- Click on **Install**.
- Change the parameters to your liking.
- Click on **APPLY**.
## Run the Container
- While the container is running, open the WebUI.
- Opening the page will generate the configuration files.
You may need to set the permissions of the folders to be able to edit the files.
- Click on the Homepage icon.
- Click on **Console**.
- Enter `chmod -R u-x,go-rwx,go+u,ugo+X /app/config` and press **Enter**.
- Enter `chmod -R u-x,go-rwx,go+u,ugo+X /app/public/icons` and press **Enter**.
- Enter `chown -R nobody:users /app/config` and press **Enter**.
- Enter `chown -R nobody:users /app/public/icons` and press **Enter**.
## Some Other Notes
- To use the [Docker integration](../configs/docker.md), you only need to use the `container:` parameter. There is no need to set the server.
!!! note
To view detailed container statistics (CPU, RAM, etc.), or if you use a remote docker socket, `container:` will still need to be set. For example:
```
- Plex:
icon: /icons/plex.png
href: https://app.plex.com
container: plex
```
- When you upload a new image into the **/images** folder, you will need to restart the container for it to show up in the WebUI. Please see the [service icons](../configs/services.md#icons) for more information.

57
docs/more/development.md Normal file
View File

@@ -0,0 +1,57 @@
---
title: Development
description: Homepage Development
---
## Development Overview
First, clone the homepage repository.
For installing NPM packages, this project uses [pnpm](https://pnpm.io/) (and so should you!):
```bash
pnpm install
```
Start the development server:
```bash
pnpm dev
```
Open [http://localhost:3000](http://localhost:3000) to start.
This is a [Next.js](https://nextjs.org/) application, see their documentation for more information.
## Code Linting
Once dependencies have been installed you can lint your code with
```bash
pnpm lint
```
## Code formatting with pre-commit hooks
To ensure a consistent style and formatting across the project source, the project utilizes Git [`pre-commit`](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) hooks to perform some formatting and linting before a commit is allowed.
Once installed, hooks will run when you commit. If the formatting isn't quite right, the commit will be rejected and you'll need to look at the output and fix the issue. Most hooks will automatically format failing files, so all you need to do is `git add` those files again and retry your commit.
See the [pre-commit documentation](https://pre-commit.com/#install) to get started.
## New Feature Guidelines
- New features should be linked to an existing feature request with at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users.
- If you have ideas for a larger feature, please open a discussion first.
- Please note that though it is a requirement, a discussion with 10 'up-votes' in no way guarantees that a PR will be merged.
## Service Widget Guidelines
To ensure cohesiveness of various widgets, the following should be used as a guide for developing new widgets:
- Please only submit widgets that have been requested and have at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users.
- Widgets should be only one row of blocks
- Widgets should be no more than 4 blocks wide and generally conform to the styling / design choices of other widgets
- Minimize the number of API calls
- Avoid the use of custom proxy unless absolutely necessary
- Widgets should be 'read-only', as in they should not make write changes using the relevant tool's API. Homepage widgets are designed to surface information, not to be a (usually worse) replacement for the tool itself.

View File

@@ -0,0 +1,8 @@
---
title: Homepage Move
description: Homepage Container Deprecation
---
As of v0.7.2 homepage migrated from benphelps/homepage to an "organization" repository located at [gethomepage/homepage](https://github.com/gethomepage/homepage/). The reason for this was to setup the project for longevity and allow for community maintenance.
Migrating your installation should be as simple as changing `image: ghcr.io/benphelps/homepage:latest` to `image: ghcr.io/gethomepage/homepage:latest`.

6
docs/more/index.md Normal file
View File

@@ -0,0 +1,6 @@
---
title: More
description: More homepage resources and guides.
---
Here you'll find resources and guides for Homepage, troubleshooting tips, and more.

19
docs/more/translations.md Normal file
View File

@@ -0,0 +1,19 @@
---
title: Translations
description: Contributing Translations
---
Homepage is developed in English, component contributions must be in English. All translations are community provided, so a huge thanks go out to all those who have helped out so far!
## Support Translations
If you'd like to lend a hand in translating Homepage into more languages, or to improve existing translations, the process is very simple:
1. Create a free account at [Crowdin](https://crowdin.com/join)
2. Visit the [Homepage project](https://crowdin.com/project/gethomepage)
3. Select the language you'd like to translate
4. Start translating!
## Adding a new language
If you'd like to add a new language, please [create a new Discussion on Crowdin](https://crowdin.com/project/gethomepage/discussions), and we'll add it to the project.

View File

@@ -0,0 +1,70 @@
---
title: Troubleshooting
description: Basic Troubleshooting
hide:
- navigation
---
## Introducing the Homepage AI Bot
Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now equipped with a pretty clever AI-powered bot. The bot has full knowledge of our docs, GitHub issues and discussions and is great at answering specific questions about setting up your Homepage. To use the bot, just hit the 'Ask AI' button on any page in our docs, [open a GitHub discussion](https://github.com/gethomepage/homepage/discussions) or check out the [#ai-support channel on Discord](https://discord.com/channels/1019316731635834932/1177885603552038993)!
## General Troubleshooting Tips
- For API errors, clicking the "API Error Information" button in the widget will usually show some helpful information as to whether the issue is reaching the service host, an authentication issue, etc.
- Check config/logs/homepage.log, on docker simply e.g. `docker logs homepage`. This may provide some insight into the reason for an error.
- Check the browser error console, this can also sometimes provide useful information.
- Consider setting the `ENV` variable `LOG_LEVEL` to `debug`.
## Service Widget Errors
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try:
1. Ensure that you follow the rule mentioned on https://gethomepage.dev/latest/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error.
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:
```
docker exec homepage ping SERVICEIPORDOMAIN
```
If your homepage install (container) cannot reach the service then you need to figure out why, for example in Docker this can mean putting the two containers on the same network, checking firewall issues, etc.
3. If you have verified that homepage can in fact reach the service then you can also check the API output using e.g. `curl`, which is often helpful if you do need to file a bug report. Again, depending on your networking setup this may need to be run from _inside the container_ as IP / hostname resolution can differ inside vs outside.
!!! note
`curl` is not installed in the base image by default but can be added inside the container with `apk add curl`.
The exact API endpoints and authentication vary of course, but in many cases instructions can be found by searching the web or if you feel comfortable looking at the homepage source code (e.g. `src/widgets/{widget}/widget.js`).
It is out of the scope of this to go into full detail about how to , but an example for PiHole would be:
```
curl -L -k http://PIHOLEIPORHOST/admin/api.php
```
Or for AdGuard:
```
curl -L -k -u 'username:password' http://ADGUARDIPORHOST/control/stats
```
Or for Portainer:
```
curl -L -k -H 'X-Api-Key:YOURKEY' 'https://PORTAINERIPORHOST:PORT/api/endpoints/2/docker/containers/json'
```
Sonarr:
```
curl -L -k 'http://SONARRIPORHOST:PORT/api/v3/queue?apikey=YOURAPIKEY'
```
This will return some data which may reveal an issue causing a true bug in the service widget.
## Missing custom icons
If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container.

35
docs/scripts/extra.js Normal file
View File

@@ -0,0 +1,35 @@
var glimeScript;
var glimeStyles = [];
document$.subscribe(function () {
if (!glimeScript) {
glimeScript = document.createElement("script");
glimeScript.setAttribute("src", "https://cdn.glimelab.ai/widget/1.0.0/widget.js");
glimeScript.setAttribute("onload", "onGlimeLoad()");
document.head.appendChild(glimeScript);
} else {
var newGlimeStyle = document.createElement("style");
document.head.appendChild(newGlimeStyle);
var i = 0;
glimeStyles.forEach((rule) => {
newGlimeStyle.sheet.insertRule(rule.cssText, i);
i++;
});
}
});
onGlimeLoad = () => {
window.glime.init("Bl3mlvfCnTnRm5");
setTimeout(() => {
const sheets = document.styleSheets;
[...sheets].forEach((sheet) => {
if (!sheet.href) {
[...sheet.cssRules].forEach((rule) => {
if (!rule || rule.href || !rule.selectorText) return;
if (rule.selectorText.indexOf(".css-") === 0 || rule.selectorText.indexOf("glime") > -1) {
glimeStyles.push(rule);
}
});
}
});
}, 1000);
};

View File

@@ -0,0 +1,24 @@
[data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after {
position: absolute;
top: .3rem;
right: .3rem;
display: block;
padding: .1rem .4rem;
color: var(--md-default-fg-color--lighter);
font-weight: bold;
font-size: .8rem;
border: .05rem solid var(--md-default-fg-color--lighter);
border-radius: .1rem;
content: "/";
}
[data-md-color-scheme="default"][data-md-color-primary="black"] {
[data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after {
color: var(--md-default-bg-color--lighter);
border-color: var(--md-default-bg-color--lighter);
}
}
#glimeRoot * {
font-family: var(--md-text-font) !important;
}

35
docs/widgets/index.md Normal file
View File

@@ -0,0 +1,35 @@
---
title: Widgets
description: Homepage info and status widgets.
---
Homepage has two types of widgets: info and service. Below we'll cover each type and how to configure them.
## Service Widgets
Service widgets are used to display the status of a service, often a web service or API. Services (and their widgets) are defined in your `services.yaml` file. Here's an example:
```yaml
- Plex:
icon: plex.png
href: https://plex.my.host
description: Watch movies and TV shows.
server: localhost
container: plex
widget:
type: tautulli
url: http://172.16.1.1:8181
key: aabbccddeeffgghhiijjkkllmmnnoo
```
## Info Widgets
Info widgets are used to display information in the header, often about your system or environment. Info widgets are defined your `widgets.yaml` file. Here's an example:
```yaml
- openmeteo:
label: Current
latitude: 36.66
longitude: -117.51
cache: 5
```

View File

@@ -0,0 +1,51 @@
---
title: Date & Time
description: Date & Time Information Widget Configuration
---
This allows you to display the date and/or time, can be heavily configured using [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat).
Formatting is locale aware and will present your date in the regional format you expect, for example, `9/16/22, 3:03 PM` for locale `en` and `16.09.22, 15:03` for `de`. You can also specify a locale just for the datetime widget with the `locale` option (see below).
```yaml
- datetime:
text_size: xl
format:
timeStyle: short
```
Any options passed to `format` are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat), please reference the MDN documentation for all available options.
Valid text sizes are `4xl`, `3xl`, `2xl`, `xl`, `md`, `sm`, `xs`.
A few examples,
```yaml
# 13:37
format:
timeStyle: short
hourCycle: h23
```
```yaml
# 1:37 PM
format:
timeStyle: short
hour12: true
```
```yaml
# 1/23/22, 1:37 PM
format:
dateStyle: short
timeStyle: short
hour12: true
```
```yaml
# 4 januari 2023 om 13:51:25 PST
locale: nl
format:
dateStyle: long
timeStyle: long
```

View File

@@ -0,0 +1,34 @@
---
title: Glances
description: Glances Information Widget Configuration
---
_(Find the Glances service widget [here](../services/glances.md))_
The Glances widget allows you to monitor the resources (CPU, memory, storage, temp & uptime) of host or another machine, and is designed to match the `resources` info widget. You can have multiple instances by adding another configuration block. The `cputemp`, `uptime` & `disk` states require separate API calls and thus are not enabled by default. Glances needs to be running in "web server" mode to enable the API, see the [glances docs](https://glances.readthedocs.io/en/latest/quickstart.html#web-server-mode).
```yaml
- glances:
url: http://host.or.ip:port
username: user # optional if auth enabled in Glances
password: pass # optional if auth enabled in Glances
cpu: true # optional, enabled by default, disable by setting to false
mem: true # optional, enabled by default, disable by setting to false
cputemp: true # disabled by default
uptime: true # disabled by default
disk: / # disabled by default, use mount point of disk(s) in glances. Can also be a list (see below)
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
expanded: true # show the expanded view
label: MyMachine # optional
```
Multiple disks can be specified as:
```yaml
disk:
- /
- /boot
...
```
_Added in v0.4.18, updated in v0.6.11, v0.6.21_

View File

@@ -0,0 +1,14 @@
---
title: Greeting
description: Greeting Information Widget Configuration
---
This allows you to display simple text, can be configured like so:
```yaml
- greeting:
text_size: xl
text: Greeting Text
```
Valid text sizes are `4xl`, `3xl`, `2xl`, `xl`, `md`, `sm`, `xs`.

View File

@@ -0,0 +1,4 @@
---
title: Info Widgets
description: Homepage info widgets.
---

View File

@@ -0,0 +1,31 @@
---
title: Kubernetes
description: Kubernetes Information Widget Configuration
---
This is very similar to the Resources widget, but provides resource information about a Kubernetes cluster.
It provides CPU and Memory usage, by node and/or at the cluster level.
```yaml
- kubernetes:
cluster:
# Shows cluster-wide statistics
show: true
# Shows the aggregate CPU stats
cpu: true
# Shows the aggregate memory stats
memory: true
# Shows a custom label
showLabel: true
label: "cluster"
nodes:
# Shows node-specific statistics
show: true
# Shows the CPU for each node
cpu: true
# Shows the memory for each node
memory: true
# Shows the label, which is always the node name
showLabel: true
```

13
docs/widgets/info/logo.md Normal file
View File

@@ -0,0 +1,13 @@
---
title: Logo
description: Logo Information Widget Configuration
---
This allows you to display the homepage logo, you can optionally specify your own icon using similar options as other icons, see [service icons](../../configs/services.md#icons).
```yaml
- logo:
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/I_Love_New_York.svg/1101px-I_Love_New_York.svg.png # optional
```
_Added in v0.4.18, updated in 0.X.X_

View File

@@ -0,0 +1,37 @@
---
title: Longhorn
description: Longhorn Storage Widget Configuration
---
The Longhorn widget pulls storage utilization metrics from the Longhorn storage driver on Kubernetes.
It is designed to appear similar to the Resource widget's disk representation.
The exact metrics should be very similar to what is seen on the Longhorn dashboard itself.
It can show the aggregate metrics and/or the individual node metrics.
```yaml
- longhorn:
# Show the expanded view
expanded: true
# Shows a node representing the aggregate values
total: true
# Shows the node names as labels
labels: true
# Show the nodes
nodes: true
# An explicit list of nodes to show. All are shown by default if "nodes" is true
include:
- node1
- node2
```
The Longhorn URL and credentials are stored in the `providers` section of the `settings.yaml`. e.g.:
```yaml
providers:
longhorn:
username: "longhorn-username" # optional
password: "very-secret-longhorn-password" # optional
url: https://longhorn.aesop.network
```

View File

@@ -0,0 +1,20 @@
---
title: Open-Meteo
description: Open-Meteo Information Widget Configuration
---
No registration is required at all! See [https://open-meteo.com/en/docs](https://open-meteo.com/en/docs)
```yaml
- openmeteo:
label: Kyiv # optional
latitude: 50.449684
longitude: 30.525026
timezone: Europe/Kiev # optional
units: metric # or imperial
cache: 5 # Time in minutes to cache API responses, to stay within limits
format: # optional, Intl.NumberFormat options
maximumFractionDigits: 1
```
You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS).

View File

@@ -0,0 +1,21 @@
---
title: OpenWeatherMap
description: OpenWeatherMap Information Widget Configuration
---
The free tier "One Call API" is all that's required, you will need to [subscribe](https://home.openweathermap.org/subscriptions/unauth_subscribe/onecall_30/base) and grab your API key.
```yaml
- openweathermap:
label: Kyiv #optional
latitude: 50.449684
longitude: 30.525026
units: metric # or imperial
provider: openweathermap
apiKey: youropenweathermapkey # required only if not using provider, this reveals api key in requests
cache: 5 # Time in minutes to cache API responses, to stay within limits
format: # optional, Intl.NumberFormat options
maximumFractionDigits: 1
```
You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS).

View File

@@ -0,0 +1,72 @@
---
title: Resources
description: Resources Information Widget Configuration
---
You can include all or some of the available resources. If you do not want to see that resource, simply pass `false`.
The disk path is the path reported by `df` (Mounted On), or the mount point of the disk.
The cpu and memory resource information are the container's usage while [glances](glances.md) displays statistics for the host machine on which it is installed.
_Note: unfortunately, the package used for getting CPU temp ([systeminformation](https://systeminformation.io)) is not compatible with some setups and will not report any value(s) for CPU temp._
**Any disk you wish to access must be mounted to your container as a volume.**
```yaml
- resources:
cpu: true
memory: true
disk: /disk/mount/path
cputemp: true
uptime: true
units: imperial # only used by cpu temp
refresh: 3000 # optional, in ms
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
```
You can also pass a `label` option, which allows you to group resources under named sections,
```yaml
- resources:
label: System
cpu: true
memory: true
- resources:
label: Storage
disk: /mnt/storage
```
Which produces something like this,
<img width="373" alt="Resource Groups" src="https://user-images.githubusercontent.com/82196/189524699-e9005138-e049-4a9c-8833-ac06e39882da.png">
If you have more than a single disk and would like to group them together under the same label, you can pass an array of paths instead,
```yaml
- resources:
label: Storage
disk:
- /mnt/storage
- /mnt/backup
- /mnt/media
```
To produce something like this,
<img width="369" alt="Screenshot 2022-09-11 at 2 15 42 PM" src="https://user-images.githubusercontent.com/82196/189524583-abdf4cc6-99da-430c-b316-16c567db5639.png">
You can additionally supply an optional `expanded` property set to true in order to show additional details about the resources. By default the expanded property is set to false when not supplied.
```yaml
- resources:
label: Array Disks
expanded: true
disk:
- /disk1
- /disk2
- /disk3
```
![194136533-c4238c82-4d67-41a4-b3c8-18bf26d33ac2](https://user-images.githubusercontent.com/3441425/194728642-a9885274-922b-4027-acf5-a746f58fdfce.png)

View File

@@ -0,0 +1,55 @@
---
title: Search
description: Search Information Widget Configuration
---
You can add a search bar to your top widget area that can search using Google, Duckduckgo, Bing, Baidu, Brave or any other custom provider that supports the basic `?q=` search query param.
```yaml
- search:
provider: google # google, duckduckgo, bing, baidu, brave or custom
focus: true # Optional, will set focus to the search bar on page load
showSearchSuggestions: true # Optional, will show search suggestions. Defaults to false
target: _blank # One of _self, _blank, _parent or _top
```
or for a custom search:
```yaml
- search:
provider: custom
url: https://www.ecosia.org/search?q=
target: _blank
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= # Optional
showSearchSuggestions: true # Optional
```
multiple providers is also supported via a dropdown (excluding custom):
```yaml
- search:
provider: [brave, google, duckduckgo]
```
The response body for the URL provided with the `suggestionUrl` option should look like this:
```json
[
"home",
[
"home depot",
"home depot near me",
"home equity loan",
"homeworkify",
"homedepot.com",
"homebase login",
"home depot credit card",
"home goods"
]
]
```
The first entry of the array contains the search query, the second one is an array of the suggestions.
In the example above, the search query was **home**.
_Added in v0.1.6, updated in 0.6.0_

View File

@@ -0,0 +1,24 @@
---
title: Unifi Controller
description: Unifi Controller Information Widget Configuration
---
_(Find the Unifi Controller service widget [here](../services/unifi-controller.md))_
You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use a local account that has at least read privileges.
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.
_Note: If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache._
<img width="162" alt="unifi_infowidget" src="https://user-images.githubusercontent.com/4887959/197706832-f5a8706b-7282-4892-a666-b7d999752562.png">
```yaml
- unifi_console:
url: https://unifi.host.or.ip:port
username: user
password: pass
site: Site Name # optional
```
_Added in v0.4.18, updated in 0.6.7_

View File

@@ -0,0 +1,22 @@
---
title: Weather API
description: Weather API Information Widget Configuration
---
**Note: this widget is considered 'deprecated' since there is no longer a free Weather API tier for new members. See the openmeteo or openweathermap widgets for alternatives.**
The free tier is all that's required, you will need to [register](https://www.weatherapi.com/signup.aspx) and grab your API key.
```yaml
- weatherapi:
label: Kyiv # optional
latitude: 50.449684
longitude: 30.525026
units: metric # or imperial
apiKey: yourweatherapikey
cache: 5 # Time in minutes to cache API responses, to stay within limits
format: # optional, Intl.NumberFormat options
maximumFractionDigits: 1
```
You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS).

View File

@@ -0,0 +1,18 @@
---
title: Adguard Home
description: Adguard Home Widget Configuration
---
Learn more about [Adguard Home](https://github.com/AdguardTeam/AdGuardHome).
The username and password are the same as used to login to the web interface.
Allowed fields: `["queries", "blocked", "filtered", "latency"]`.
```yaml
widget:
type: adguard
url: http://adguard.host.or.ip
username: admin
password: password
```

View File

@@ -0,0 +1,18 @@
---
title: Atsumeru
description: Atsumeru Widget Configuration
---
Learn more about [Atsumeru](https://github.com/AtsumeruDev/Atsumeru).
Define same username and password that is used for login from web or supported apps
Allowed fields: `["series", "archives", "chapters", "categories"]`.
```yaml
widget:
type: atsumeru
url: http://atsumeru.host.or.ip:port
username: username
password: password
```

View File

@@ -0,0 +1,17 @@
---
title: Audiobookshelf
description: Audiobookshelf Widget Configuration
---
Learn more about [Audiobookshelf](https://github.com/advplyr/audiobookshelf).
You can find your API token by logging into the Audiobookshelf web app as an admin, go to the config → users page, and click on your account.
Allowed fields: `["podcasts", "podcastsDuration", "books", "booksDuration"]`
```yaml
widget:
type: audiobookshelf
url: http://audiobookshelf.host.or.ip:port
key: audiobookshelflapikey
```

View File

@@ -0,0 +1,26 @@
---
title: Authentik
description: Authentik Widget Configuration
---
Learn more about [Authentik](https://github.com/goauthentik/authentik).
This widget reads the number of active users in the system, as well as logins for the last 24 hours.
You will need to generate an API token for an existing user. To do so follow these steps:
1. Navigate to the Authentik Admin Portal
2. Expand Directory, the click Tokens & App passwords
3. Click the Create button
4. Fill out the dialog making sure to set Intent to API Token
5. Click the Create button on the dialog
6. Click the copy button on the far right of the newly created API Token
Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.
```yaml
widget:
type: authentik
url: http://authentik.host.or.ip:22070
key: api_token
```

View File

@@ -0,0 +1,17 @@
---
title: Autobrr
description: Autobrr Widget Configuration
---
Learn more about [Autobrr](https://github.com/autobrr/autobrr).
Find your API key under `Settings > API Keys`.
Allowed fields: `["approvedPushes", "rejectedPushes", "filters", "indexers"]`.
```yaml
widget:
type: autobrr
url: http://autobrr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```

View File

@@ -0,0 +1,28 @@
---
title: Azure DevOps
description: Azure DevOps Widget Configuration
---
Learn more about [Azure DevOps](https://azure.microsoft.com/en-us/products/devops).
This widget has 2 functions:
1. Pipelines: checks if the relevant pipeline is running or not, and if not, reports the last status.\
Allowed fields: `["result", "status"]`.
2. Pull Requests: returns the amount of open PRs, the amount of the PRs you have open, and how many PRs that you open are marked as 'Approved' by at least 1 person and not yet completed.\
Allowed fields: `["totalPrs", "myPrs", "approved"]`.
You will need to generate a personal access token for an existing user, see the [azure documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat)
```yaml
widget:
type: azuredevops
organization: myOrganization
project: myProject
definitionId: pipelineDefinitionId # required for pipelines
branchName: branchName # optional for pipelines, leave empty for all
userEmail: email # required for pull requests
repositoryId: prRepositoryId # required for pull requests
key: personalaccesstoken
```

View File

@@ -0,0 +1,17 @@
---
title: Bazarr
description: Bazarr Widget Configuration
---
Learn more about [Bazarr](https://github.com/morpheus65535/bazarr).
Find your API key under `Settings > General`.
Allowed fields: `["missingEpisodes", "missingMovies"]`.
```yaml
widget:
type: bazarr
url: http://bazarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```

View File

@@ -0,0 +1,14 @@
---
title: Caddy
description: Caddy Widget Configuration
---
Learn more about [Caddy](https://github.com/caddyserver/caddy).
Allowed fields: `["upstreams", "requests", "requests_failed"]`.
```yaml
widget:
type: caddy
url: http://caddy.host.or.ip:adminport # default admin port is 2019
```

View File

@@ -0,0 +1,57 @@
---
title: Calendar
description: Calendar widget
---
## Monthly view
<img alt="calendar" src="https://user-images.githubusercontent.com/5442891/271131282-6767a3ea-573e-4005-aeb9-6e14ee01e845.png">
This widget shows monthly calendar, with optional integrations to show events from supported widgets.
```yaml
widget:
type: calendar
firstDayInWeek: sunday # optional - defaults to monday
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: America/Los_Angeles # 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: # optional
- type: sonarr # active widget type that is currently enabled on homepage - possible values: radarr, sonarr, lidarr, readarr, ical
service_group: Media # group name where widget exists
service_name: Sonarr # service name for that widget
color: teal # optional - defaults to pre-defined color for the service (teal for sonarr)
params: # optional - additional params for the service
unmonitored: true # optional - defaults to false, used with *arr stack
- type: ical # Show calendar events from another service
url: https://domain.url/with/link/to.ics # URL with calendar events
name: My Events # required - name for these calendar events
color: zinc # optional - defaults to pre-defined color for the service (zinc for ical)
params: # optional - additional params for the service
showName: true # optional - show name before event title in event line - defaults to false
```
## Agenda
This view shows only list of events from configured integrations
```yaml
widget:
type: calendar
view: agenda
maxEvents: 10 # optional - defaults to 10
showTime: true # optional - show time for event happening today - defaults to false
previousDays: 3 # optional - shows events since three days ago - defaults to 0
integrations: # same as in Monthly view example
```
## Integrations
Currently integrated widgets are [sonarr](sonarr.md), [radarr](radarr.md), [lidarr](lidarr.md) and [readarr](readarr.md).
Supported colors can be found on [color palette](../../configs/settings.md#color-palette).
### iCal
This custom integration allows you to show events from any calendar that supports iCal format, for example, Google Calendar (go to `Settings`, select specific calendar, go to `Integrate calendar`, copy URL from `Public Address in iCal format`).

View File

@@ -0,0 +1,18 @@
---
title: Calibre-web
description: Calibre-web Widget Configuration
---
Learn more about [Calibre-web](https://github.com/janeczku/calibre-web).
**Note: widget requires calibre-web ≥ v0.6.21.**
Allowed fields: `["books", "authors", "categories", "series"]`.
```yaml
widget:
type: calibreweb
url: http://your.calibreweb.host:port
username: username
password: password
```

View File

@@ -0,0 +1,15 @@
---
title: Changedetection.io
description: Changedetection.io Widget Configuration
---
Learn more about [Changedetection.io](https://github.com/dgtlmoon/changedetection.io).
Find your API key under `Settings > API`.
```yaml
widget:
type: changedetectionio
url: http://changedetection.host.or.ip:port
key: apikeyapikeyapikeyapikeyapikey
```

View File

@@ -0,0 +1,12 @@
---
title: Channels DVR Server
description: Channels DVR Server Widget Configuration
---
Learn more about [Channels DVR Server](https://getchannels.com/dvr-server/).
```yaml
widget:
type: channelsdvrserver
url: http://192.168.1.55:8089
```

View File

@@ -0,0 +1,18 @@
---
title: Cloudflare Tunnels
description: Cloudflare Tunnels Widget Configuration
---
Learn more about [Cloudflare Tunnels](https://www.cloudflare.com/products/tunnel/).
_As of v0.6.10 this widget no longer accepts a Cloudflare global API key (or account email) due to security concerns. Instead, you should setup an API token which only requires the permissions `Account.Cloudflare Tunnel:Read`._
Allowed fields: `["status", "origin_ip"]`.
```yaml
widget:
type: cloudflared
accountid: accountid # from zero trust dashboard url e.g. https://one.dash.cloudflare.com/<accountid>/home/quick-start
tunnelid: tunnelid # found in tunnels dashboard under the tunnel name
key: cloudflareapitoken # api token with `Account.Cloudflare Tunnel:Read` https://dash.cloudflare.com/profile/api-tokens
```

View File

@@ -0,0 +1,28 @@
---
title: Coin Market Cap
description: Coin Market Cap Widget Configuration
---
Learn more about [Coin Market Cap](https://coinmarketcap.com/api).
Get your API key from your [CoinMarketCap Pro Dashboard](https://pro.coinmarketcap.com/account).
Allowed fields: no configurable fields for this widget.
```yaml
widget:
type: coinmarketcap
currency: GBP # Optional
symbols: [BTC, LTC, ETH]
key: apikeyapikeyapikeyapikeyapikey
defaultinterval: 7d # Optional
```
You can also specify slugs instead of symbols (since symbols aren't guaranteed to be unique). If you supply both, slugs will be used. For example:
```yaml
widget:
type: coinmarketcap
slugs: [chia-network, uniswap]
key: apikeyapikeyapikeyapikeyapikey
```

View File

@@ -0,0 +1,182 @@
---
title: Custom API
description: Custom Widget Configuration from the API
---
This widget can show information from custom self-hosted or third party API.
Fields need to be defined in the `mappings` section YAML object to correlate with the value in the APIs JSON object. Final field definition needs to be the key with the desired value information.
```yaml
widget:
type: customapi
url: http://custom.api.host.or.ip:port/path/to/exact/api/endpoint
refreshInterval: 10000 # optional - in milliseconds, defaults to 10s
username: username # auth - optional
password: password # auth - optional
method: GET # optional, e.g. POST
headers: # optional, must be object, see below
requestBody: # optional, can be string or object, see below
display: # optional, default to block, see below
mappings:
- field: key # needs to be YAML string or object
label: Field 1
format: text # optional - defaults to text
- field: # needs to be YAML string or object
path:
to: key2
format: number # optional - defaults to text
label: Field 2
- field: # needs to be YAML string or object
path:
to:
another: key3
label: Field 3
format: percent # optional - defaults to text
- field: key # needs to be YAML string or object
label: Field 4
format: date # optional - defaults to text
locale: nl # optional
dateStyle: long # optional - defaults to "long". Allowed values: `["full", "long", "medium", "short"]`.
timeStyle: medium # optional - Allowed values: `["full", "long", "medium", "short"]`.
- field: key # needs to be YAML string or object
label: Field 5
format: relativeDate # optional - defaults to text
locale: nl # optional
style: short # optional - defaults to "long". Allowed values: `["long", "short", "narrow"]`.
numeric: auto # optional - defaults to "always". Allowed values `["always", "auto"]`.
- field: key
label: Field 6
format: text
additionalField: # optional
field:
hourly:
time: other key
color: theme # optional - defaults to "". Allowed values: `["theme", "adaptive", "black", "white"]`.
format: date # optional
```
Supported formats for the values are `text`, `number`, `float`, `percent`, `bytes`, `bitrate`, `date` and `relativeDate`.
The `dateStyle` and `timeStyle` options of the `date` format are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) and the `style` and `numeric` options of `relativeDate` are passed to [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat).
## Example
For the following JSON object from the API:
```json
{
"id": 1,
"name": "Rick Sanchez",
"status": "Alive",
"species": "Human",
"gender": "Male",
"origin": {
"name": "Earth (C-137)"
},
"locations": [
{
"name": "Earth (C-137)"
},
{
"name": "Citadel of Ricks"
}
]
}
```
Define the `mappings` section as an array, for example:
```yaml
mappings:
- field: name # Rick Sanchez
label: Name
- field: status # Alive
label: Status
- field:
origin: name # Earth (C-137)
label: Origin
- field:
locations:
1: name # Citadel of Ricks
label: Location
```
## Data Transformation
You can manipulate data with the following tools `remap`, `scale`, `prefix` and `suffix`, for example:
```yaml
- field: key4
label: Field 4
format: text
remap:
- value: 0
to: None
- value: 1
to: Connected
- any: true # will map all other values
to: Unknown
- field: key5
label: Power
format: float
scale: 0.001 # can be number or string e.g. 1/16
suffix: "kW"
- field: key6
label: Price
format: float
prefix: "$"
```
## List View
You can change the default block view to a list view by setting the `display` option to `list`.
The list view can optionally display an additional field next to the primary field.
`additionalField`: Similar to `field`, but only used in list view. Displays additional information for the mapping object on the right.
`field`: Defined the same way as other custom api widget fields.
`color`: Allowed options: `"theme", "adaptive", "black", "white"`. The option `adaptive` will apply a color using the value of the `additionalField`, green for positive numbers, red for negative numbers.
```yaml
- field: key
label: Field
format: text
remap:
- value: 0
to: None
- value: 1
to: Connected
- any: true # will map all other values
to: Unknown
additionalField:
field:
hourly:
time: key
color: theme
format: date
```
## Custom Headers
Pass custom headers using the `headers` option, for example:
```yaml
headers:
X-API-Token: token
```
## Custom Request Body
Pass custom request body using the `requestBody` option in either a string or object format. Objects will automatically be converted to a JSON string.
```yaml
requestBody:
foo: bar
# or
requestBody: "{\"foo\":\"bar\"}"
```
Both formats result in `{"foo":"bar"}` being sent as the request body. Don't forget to set your `Content-Type` headers!

View File

@@ -0,0 +1,17 @@
---
title: Deluge
description: Deluge Widget Configuration
---
Learn more about [Deluge](https://deluge-torrent.org/).
Uses the same password used to login to the webui, see [the deluge FAQ](https://dev.deluge-torrent.org/wiki/Faq#Whatisthedefaultpassword).
Allowed fields: `["leech", "download", "seed", "upload"]`.
```yaml
widget:
type: deluge
url: http://deluge.host.or.ip
password: password # webui password
```

View File

@@ -0,0 +1,38 @@
---
title: Synology Disk Station
description: Synology Disk Station Widget Configuration
---
Learn more about [Synology Disk Station](https://www.synology.com/en-global/dsm).
Note: the widget is not compatible with 2FA.
An optional 'volume' parameter can be supplied to specify which volume's free space to display when more than one volume exists. The value of the parameter must be in form of `volume_N`, e.g. to display free space for volume2, `volume_2` should be set as 'volume' value. If omitted, first returned volume's free space will be shown (not guaranteed to be volume1).
Allowed fields: `["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]`.
To access these system metrics you need to connect to the DiskStation with an account that is a member of the default `Administrators` group. That is because these metrics are requested from the API's `SYNO.Core.System` part that is only available to admin users. In order to keep the security impact as small as possible we can set the account in DSM up to limit the user's permissions inside the Synology system. In DSM 7.x, for instance, follow these steps:
1. Create a new user, i.e. `remote_stats`.
2. Set up a strong password for the new user
3. Under the `User Groups` tab of the user config dialogue check the box for `Administrators`.
4. On the `Permissions` tab check the top box for `No Access`, effectively prohibiting the user from accessing anything in the shared folders.
5. Under `Applications` check the box next to `Deny` in the header to explicitly prohibit login to all applications.
6. Now _only_ allow login to the `Download Station` application, either by
- unchecking `Deny` in the respective row, or (if inheriting permission doesn't work because of other group settings)
- checking `Allow` for this app, or
- checking `By IP` for this app to limit the source of login attempts to one or more IP addresses/subnets.
7. When the `Preview` column shows `Allow` in the `Download Station` row, click `Save`.
Now configure the widget with the correct login information and test it.
If you encounter issues during testing, make sure to uncheck the option for automatic blocking due to invalid logins under `Control Panel > Security > Protection`. If desired, this setting can be reactivated once the login is established working.
```yaml
widget:
type: diskstation
url: http://diskstation.host.or.ip:port
username: username
password: password
volume: volume_N # optional
```

View File

@@ -0,0 +1,18 @@
---
title: Synology Download Station
description: Synology Download Station Widget Configuration
---
Learn more about [Synology Download Station](https://www.synology.com/en-us/dsm/packages/DownloadStation).
Note: the widget is not compatible with 2FA.
Allowed fields: `["leech", "download", "seed", "upload"]`.
```yaml
widget:
type: downloadstation
url: http://downloadstation.host.or.ip:port
username: username
password: password
```

View File

@@ -0,0 +1,19 @@
---
title: Emby
description: Emby Widget Configuration
---
Learn more about [Emby](https://github.com/MediaBrowser/Emby).
You can create an API key from inside Emby at `Settings > Advanced > Api Keys`.
As of v0.6.11 the widget supports fields `["movies", "series", "episodes", "songs"]`. These blocks are disabled by default but can be enabled with the `enableBlocks` option, and the "Now Playing" feature (enabled by default) can be disabled with the `enableNowPlaying` option.
```yaml
widget:
type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
enableBlocks: true # optional, defaults to false
enableNowPlaying: true # optional, defaults to true
```

View File

@@ -0,0 +1,19 @@
---
title: ESPHome
description: ESPHome Widget Configuration
---
Learn more about [ESPHome](https://esphome.io/).
Show the number of ESPHome devices based on their state.
Allowed fields: `["total", "online", "offline", "offline_alt", "unknown"]` (maximum of 4).
By default ESPHome will only mark devices as `offline` if their address cannot be pinged. If it has an invalid config or its name cannot be resolved (by DNS) its status will be marked as `unknown`.
To group both `offline` and `unknown` devices together, users should use the `offline_alt` field instead. This sums all devices that are _not_ online together.
```yaml
widget:
type: esphome
url: http://esphome.host.or.ip:port
```

View File

@@ -0,0 +1,14 @@
---
title: EVCC
description: EVCC Widget Configuration
---
Learn more about [EVSS](https://github.com/evcc-io/evcc).
Allowed fields: `["pv_power", "grid_power", "home_power", "charge_power]`.
```yaml
widget:
type: evcc
url: http://evcc.host.or.ip:port
```

View File

@@ -0,0 +1,14 @@
---
title: Fileflows
description: Fileflows Widget Configuration
---
Learn more about [FileFlows](https://github.com/revenz/FileFlows).
Allowed fields: `["queue", "processing", "processed", "time"]`.
```yaml
widget:
type: fileflows
url: http://your.fileflows.host:port
```

View File

@@ -0,0 +1,16 @@
---
title: Flood
description: Flood Widget Configuration
---
Learn more about [Flood](https://github.com/jesec/flood).
Allowed fields: `["leech", "download", "seed", "upload"]`.
```yaml
widget:
type: flood
url: http://flood.host.or.ip
username: username # if set
password: password # if set
```

View File

@@ -0,0 +1,18 @@
---
title: FreshRSS
description: FreshRSS Widget Configuration
---
Learn more about [FreshRSS](https://github.com/FreshRSS/FreshRSS).
Please refer to [Enable the API in FreshRSS](https://freshrss.github.io/FreshRSS/en/users/06_Mobile_access.html#enable-the-api-in-freshrss) for the "API password" to be entered in the password field.
Allowed fields: `["subscriptions", "unread"]`.
```yaml
widget:
type: freshrss
url: http://freshrss.host.or.ip:port
username: username
password: password
```

View File

@@ -0,0 +1,22 @@
---
title: FRITZ!Box
description: FRITZ!Box Widget Configuration
---
Application access & UPnP must be activated on your device:
```
Home Network > Network > Network Settings > Access Settings in the Home Network
[x] Allow access for applications
[x] Transmit status information over UPnP
```
Credentials are not needed and, as such, you may want to consider using `http` instead of `https` as those requests are significantly faster.
Allowed fields (limited to a max of 4): `["connectionStatus", "uptime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress"]`.
```yaml
widget:
type: fritzbox
url: http://192.168.178.1
```

View File

@@ -0,0 +1,17 @@
---
title: GameDig
description: GameDig Widget Configuration
---
Learn more about [GameDig](https://github.com/gamedig/node-gamedig).
Uses the [GameDig](https://www.npmjs.com/package/gamedig) library to get game server information for any supported server type.
Allowed fields (limited to a max of 4): `["status", "name", "map", "currentPlayers", "players", "maxPlayers", "bots", "ping"]`.
```yaml
widget:
type: gamedig
serverType: csgo # see https://github.com/gamedig/node-gamedig#games-list
url: udp://server.host.or.ip:port
```

View File

@@ -0,0 +1,12 @@
---
title: Gatus
description: Gatus Widget Configuration
---
Allowed fields: `["up", "down", "uptime"]`.
```yaml
widget:
type: gatus
url: http://gatus.host.or.ip:port
```

View File

@@ -0,0 +1,25 @@
---
title: Ghostfolio
description: Ghostfolio Widget Configuration
---
Learn more about [Ghostfolio](https://github.com/ghostfolio/ghostfolio).
Authentication requires manually obtaining a Bearer token which can be obtained by make a POST request to the API e.g.
```
curl -X POST http://localhost:3333/api/v1/auth/anonymous -H 'Content-Type: application/json' -d '{ "accessToken": "SECURITY_TOKEN_OF_ACCOUNT" }'
```
See the [official docs](https://github.com/ghostfolio/ghostfolio#authorization-bearer-token).
_Note that the Bearer token is valid for 6 months, after which a new one must be generated._
Allowed fields: `["gross_percent_today", "gross_percent_1y", "gross_percent_max"]`
```yaml
widget:
type: ghostfolio
url: http://ghostfoliohost:port
key: ghostfoliobearertoken
```

View File

@@ -0,0 +1,17 @@
---
title: Gitea
description: Gitea Widget Configuration
---
Learn more about [Gitea](https://gitea.com).
API token requires `notifications`, `repository` and `issue` permissions. See the [gitea documentation](https://docs.gitea.com/development/api-usage#generating-and-listing-api-tokens) for details on generating tokens.
Allowed fields: ["notifications", "issues", "pulls"]
```yaml
widget:
type: gitea
url: http://gitea.host.or.ip:port
key: giteaapitoken
```

View File

@@ -0,0 +1,78 @@
---
title: Glances
description: Glances Widget Configuration
---
Learn more about [Glances](https://github.com/nicolargo/glances).
<img width="1614" alt="glances" src="https://github-production-user-asset-6210df.s3.amazonaws.com/82196/257382012-25648c97-2c1b-4db0-b5a5-f1509806079c.png">
_(Find the Glances information widget [here](../info/glances.md))_
The Glances widget allows you to monitor the resources (cpu, memory, diskio, sensors & processes) of host or another machine. You can have multiple instances by adding another service block.
```yaml
widget:
type: glances
url: http://glances.host.or.ip:port
username: user # optional if auth enabled in Glances
password: pass # optional if auth enabled in Glances
metric: cpu
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
refreshInterval: 5000 # optional - in milliseconds, defaults to 1000 or more, depending on the metric
pointsLimit: 15 # optional, defaults to 15
```
_Please note, this widget does not need an `href`, `icon` or `description` on its parent service. To achieve the same effect as the examples above, see as an example:_
```yaml
- CPU Usage:
widget:
type: glances
url: http://glances.host.or.ip:port
metric: cpu
- Network Usage:
widget:
type: glances
url: http://glances.host.or.ip:port
metric: network:enp0s25
```
## Metrics
The metric field in the configuration determines the type of system monitoring data to be displayed. Here are the supported metrics:
`info`: System information. Shows the system's hostname, OS, kernel version, CPU type, CPU usage, RAM usage and SWAP usage.
`cpu`: CPU usage. Shows how much of the system's computational resources are currently being used.
`memory`: Memory usage. Shows how much of the system's RAM is currently being used.
`process`: Top 5 processes based on CPU usage. Gives an overview of which processes are consuming the most resources.
`network:<interface_name>`: Network data usage for the specified interface. Replace `<interface_name>` with the name of your network interface, e.g., `network:enp0s25`, as specified in glances.
`sensor:<sensor_id>`: Temperature of the specified sensor, typically used to monitor CPU temperature. Replace `<sensor_id>` with the name of your sensor, e.g., `sensor:Package id 0` as specified in glances.
`disk:<disk_id>`: Disk I/O data for the specified disk. Replace `<disk_id>` with the id of your disk, e.g., `disk:sdb`, as specified in glances.
`gpu:<gpu_id>`: GPU usage for the specified GPU. Replace `<gpu_id>` with the id of your GPU, e.g., `gpu:0`, as specified in glances.
`fs:<mnt_point>`: Disk usage for the specified mount point. Replace `<mnt_point>` with the path of your disk, e.g., `/mnt/storage`, as specified in glances.
## Views
All widgets offer an alternative to the full or "graph" view, which is the compact, or "graphless" view.
<img width="970" alt="Screenshot 2023-09-06 at 1 51 48PM" src="https://github-production-user-asset-6210df.s3.amazonaws.com/82196/265985295-cc6b9adc-4218-4274-96ca-36c3e64de5d0.png">
To switch to the alternative "graphless" view, simply pass `chart: false` as an option to the widget, like so:
```yaml
- Network Usage:
widget:
type: glances
url: http://glances.host.or.ip:port
metric: network:enp0s25
chart: false
```

View File

@@ -0,0 +1,18 @@
---
title: Gluetun
description: Gluetun Widget Configuration
---
Learn more about [Gluetun](https://github.com/qdm12/gluetun).
!!! note
Requires [HTTP control server options](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md) to be enabled. By default this runs on port `8000`.
Allowed fields: `["public_ip", "region", "country"]`.
```yaml
widget:
type: gluetun
url: http://gluetun.host.or.ip:port
```

View File

@@ -0,0 +1,17 @@
---
title: Gotify
description: Gotify Widget Configuration
---
Learn more about [Gotify](https://github.com/gotify/server).
Get a Gotify client token from an existing client or create a new one on your Gotify admin page.
Allowed fields: `["apps", "clients", "messages"]`.
```yaml
widget:
type: gotify
url: http://gotify.host.or.ip
key: clientoken
```

View File

@@ -0,0 +1,16 @@
---
title: Grafana
description: Grafana Widget Configuration
---
Learn more about [Grafana](https://github.com/grafana/grafana).
Allowed fields: `["dashboards", "datasources", "totalalerts", "alertstriggered"]`.
```yaml
widget:
type: grafana
url: http://grafana.host.or.ip:port
username: username
password: password
```

View File

@@ -0,0 +1,18 @@
---
title: HDHomerun
description: HDHomerun Widget Configuration
---
Learn more about [HDHomerun](https://www.silicondust.com/support/downloads/).
Allowed fields: `["channels", "hd", "tunerCount", "channelNumber", "channelNetwork", "signalStrength", "signalQuality", "symbolQuality", "networkRate", "clientIP" ]`.
If more than 4 fields are provided, only the first 4 are displayed.
```yaml
widget:
type: hdhomerun
url: http://hdhomerun.host.or.ip
tuner: 0 # optional - defaults to 0, used for tuner-specific fields
fields: ["channels", "hd"] # optional - default fields shown
```

View File

@@ -0,0 +1,25 @@
---
title: Health checks
description: Health checks Widget Configuration
---
Learn more about [Health Checks](https://github.com/healthchecks/healthchecks).
Specify a single check by including the `uuid` field or show the total 'up' and 'down' for all
checks by leaving off the `uuid` field.
To use the Health Checks widget, you first need to generate an API key.
1. In your project, go to project Settings on the navigation bar.
2. Click on API key (read-only) and then click _Create_.
3. Copy the API key that is generated for you.
Allowed fields: `["status", "last_ping"]` for single checks, `["up", "down"]` for total stats.
```yaml
widget:
type: healthchecks
url: http://healthchecks.host.or.ip:port
key: <YOUR_API_KEY>
uuid: <CHECK_UUID> # optional, if not included total statistics for all checks is shown
```

View File

@@ -0,0 +1,38 @@
---
title: Home Assistant
description: Home Assistant Widget Configuration
---
Learn more about [Home Assistant](https://www.home-assistant.io/).
You will need to generate a long-lived access token for an existing Home Assistant user in its profile.
Allowed fields: `["people_home", "lights_on", "switches_on"]`.
---
Up to a maximum of four custom states and/or templates can be queried via the `custom` property like in the example below.
The `custom` property will have no effect as long as the `fields` property is defined.
- `state` will query the state of the specified `entity_id`
- state labels and values can be user defined and may reference entity attributes in curly brackets
- if no state label is defined it will default to `"{attributes.friendly_name}"`
- if no state value is defined it will default to `"{state} {attributes.unit_of_measurement}"`
- `template` will query the specified template, see [Home Assistant Templating](https://www.home-assistant.io/docs/configuration/templating)
- if no template label is defined it will be empty
```yaml
widget:
type: homeassistant
url: http://homeassistant.host.or.ip:port
key: access_token
custom:
- state: sensor.total_power
- state: sensor.total_energy_today
label: energy today
- template: "{{ states.switch|selectattr('state','equalto','on')|list|length }}"
label: switches on
- state: weather.forecast_home
label: wind speed
value: "{attributes.wind_speed} {attributes.wind_speed_unit}"
```

Some files were not shown because too many files have changed in this diff Show More