Skip to content

Commit

Permalink
Merge Version 0.15
Browse files Browse the repository at this point in the history
  • Loading branch information
manuel-rw committed Feb 17, 2024
2 parents 5517447 + 46a57c1 commit 2e014a5
Show file tree
Hide file tree
Showing 48 changed files with 1,340 additions and 379 deletions.
57 changes: 35 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,34 +53,46 @@ Simplify the management of your server with Homarr - a sleek, modern dashboard t
- 🦞 Comprehensive built-in icon picker with over 7000 icons
- 🐳 Easy deployment with Docker, unRAID, and Synology
- 🚀 Compatible with any major consumer hardware (x86, Raspberry Pi, old laptops, ...)
- 💵 Free and Open-Source - your data stays on your device. No telemetry data.

<br/>
<br/>

![Widgets & Integrations Section](docs/section-widgets-and-integrations.png)

Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/integrations/), that connect to your applications and enable you to control them directly from the dashboard.
Each widget and integration has a comprehensive documentation for your comfort.
Homarr will integrate with the following applications of yours:

- 📥 Torrent clients
- [Deluge](https://homarr.dev/docs/integrations/#deluge)
- [Transmission](https://homarr.dev/docs/integrations/#transmission)
- [qBittorent](https://homarr.dev/docs/integrations/#qbittorrent-integration)
- 📥 Usenet clients
- [SABnzbd](https://homarr.dev/docs/integrations/#sabnzbd)
- [NZBGet](https://homarr.dev/docs/integrations/#nzbget)
- 📚 Media collection managers
- [Sonarr](https://homarr.dev/docs/integrations/#sonarr)
- [Radarr](https://homarr.dev/docs/integrations/#radarr)
- [Lidarr](https://homarr.dev/docs/integrations/#lidarr)
- [Readarr](https://homarr.dev/docs/integrations/#readarr)
- 🎞️ Media request managers
- [Overseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- [Jellyseerr](https://homarr.dev/docs/integrations/#overseerr--jellyseerr)
- 🔌 [Dash.](https://homarr.dev/docs/integrations/#dash)
- 🐳 [Docker](https://homarr.dev/docs/integrations/#docker)
Homarr has a [built-in collection of widgets and integrations](https://homarr.dev/docs/management/integrations/), that connect to your applications and enable you to control them directly from the dashboard.
Each widget and integration has a comprehensive documentation
Homarr will integrate with the following applications:

📥 Torrent clients
- [Deluge](https://homarr.dev/docs/management/integrations/torrent-deluge)
- [Transmission](https://homarr.dev/docs/management/integrations/torrent-transmission)
- [qBittorent](https://homarr.dev/docs/management/integrations/torrent-qbittorrent)

📥 Usenet clients
- [SABnzbd](https://homarr.dev/docs/management/integrations/usenet-sabnzbd)
- [NZBGet](https://homarr.dev/docs/management/integrations/usenet-nzbget)

📺 Media servers
- [Plex](https://homarr.dev/docs/management/integrations/media-server-plex)
- [Jellyfin](https://homarr.dev/docs/management/integrations/media-server-jellyfin)

📚 Media collection managers
- [Sonarr](https://homarr.dev/docs/management/integrations/servarr-sonarr)
- [Radarr](https://homarr.dev/docs/management/integrations/servarr-radarr)
- [Lidarr](https://homarr.dev/docs/management/integrations/servarr-lidarr)
- [Readarr](https://homarr.dev/docs/management/integrations/servarr-readarr)

🎞️ Media request managers
- [Overseerr](https://homarr.dev/docs/management/integrations/media-requester/)
- [Jellyseerr](https://homarr.dev/docs/management/integrations/media-requester/)

🚫 DNS ad-blockers
- [Pihole](https://homarr.dev/docs/management/integrations/dns-pihole)
- [AdGuard Home](https://homarr.dev/docs/management/integrations/dns-adguard-home)

Other integrations
- [🔌 Dash.](https://homarr.dev/docs/management/integrations/hardware-dash)
- [🐳 Docker](https://homarr.dev/docs/management/integrations/containers-docker)

We're constantly adding new integrations and widgets, which will enhance your experience even further.

Expand Down Expand Up @@ -123,3 +135,4 @@ You can also support us by helping with [translating the entire project](https:/
All contributions, regardless of their size or scope, are welcome and highly appreciated! Thank you ❤️

![Alt](https://repobeats.axiom.co/api/embed/60a6f68f193faf831f64221bdf90782adec51c93.svg "Repobeats analytics image")
[![Covered by Argos Visual Testing](https://argos-ci.com/badge-large.svg)](https://argos-ci.com?utm_source=%5Bhomarr%5D&utm_campaign=oss)
5 changes: 5 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ const withBundleAnalyzer = require('@next/bundle-analyzer')({
});

module.exports = withBundleAnalyzer({
webpack: (config) => {
// for dynamic loading of auth providers
config.experiments = { ...config.experiments, topLevelAwait: true };
return config;
},
images: {
domains: ['cdn.jsdelivr.net'],
},
Expand Down
7 changes: 3 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "homarr",
"version": "0.14.6",
"version": "0.15.0",
"description": "Homarr - A homepage for your server.",
"license": "MIT",
"repository": {
Expand All @@ -27,7 +27,6 @@
"db:migrate": "dotenv ts-node drizzle/migrate/migrate.ts ./drizzle"
},
"dependencies": {
"@auth/drizzle-adapter": "^0.3.2",
"@ctrl/deluge": "^4.1.0",
"@ctrl/qbittorrent": "^6.0.0",
"@ctrl/shared-torrent": "^4.1.1",
Expand Down Expand Up @@ -92,9 +91,8 @@
"i18next": "^22.5.1",
"immer": "^10.0.2",
"js-file-download": "^0.4.12",
"ldapjs": "^3.0.5",
"mantine-react-table": "^1.3.4",
"moment": "^2.29.4",
"moment-timezone": "^0.5.43",
"next": "13.4.12",
"next-auth": "^4.23.0",
"next-i18next": "^14.0.0",
Expand Down Expand Up @@ -123,6 +121,7 @@
"@types/better-sqlite3": "^7.6.5",
"@types/cookies": "^0.7.7",
"@types/dockerode": "^3.3.9",
"@types/ldapjs": "^3.0.2",
"@types/node": "18.17.8",
"@types/prismjs": "^1.26.0",
"@types/react": "^18.2.11",
Expand Down
19 changes: 19 additions & 0 deletions public/locales/en/modules/indexer-manager.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"descriptor": {
"name": "Indexer manager status",
"description": "Status about your indexers",
"settings": {
"title": "Indexer manager status"
}
},
"indexersStatus": {
"title": "Indexer manager",
"testAllButton": "Test all"
},
"errors": {
"general": {
"title": "Unable to find a indexer manager",
"text": "There was a problem connecting to your indexer manager. Please verify your configuration/integration(s)."
}
}
}
8 changes: 8 additions & 0 deletions public/locales/en/modules/smart-home/entity-state.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,20 @@
"label": "Entity ID",
"info": "Unique entity ID in Home Assistant. Copy by clicking on entity > Click on cog icon > Click on copy button at 'Entity ID'. Some custom entities may not be supported."
},
"appendUnit": {
"label": "Append unit of measurement",
"info": "Append the unit of measurement attribute to the entity state."
},
"automationId": {
"label": "Optional automation ID",
"info": "Your unique automation ID. Always starts with automation.XXXXX. If not set, widget will not be clickable and only display state. After click, entity state will be refreshed."
},
"displayName": {
"label": "Display name"
},
"displayFriendlyName": {
"label": "Display friendly name",
"info": "Display friendly name from Home Assistant instead instead of display name"
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions public/locales/it/modules/rss.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@
"label": "Ordina per data di pubblicazione (ascendente)"
},
"sortPostsWithoutPublishDateToTheTop": {
"label": ""
"label": "Metti i post senza data di pubblicazione in alto"
},
"maximumAmountOfPosts": {
"label": ""
"label": "Numero massimo di post"
}
},
"card": {
Expand Down
4 changes: 2 additions & 2 deletions public/locales/lv/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"previous": "Iepriekšējais",
"confirm": "Apstipriniet",
"enabled": "Iespējots",
"duplicate": "",
"duplicate": "Dublicēt",
"disabled": "Atspējots",
"enableAll": "Iespējot visu",
"disableAll": "Atspējot visu",
Expand Down Expand Up @@ -54,5 +54,5 @@
"height": "Augstums"
},
"public": "Publisks",
"restricted": ""
"restricted": "Ierobežots"
}
2 changes: 1 addition & 1 deletion public/locales/lv/layout/element-selector/selector.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@
"message": "Ir izveidota kategorija \"{{name}}\""
}
},
"importFromDocker": ""
"importFromDocker": "Importēt no Docker"
}
10 changes: 5 additions & 5 deletions public/locales/lv/manage/boards.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@
"label": "Neatgriezeniski dzēst",
"disabled": "Dzēšana atspējota, jo vecāki Homarr komponenti neļauj dzēst noklusējuma konfigurāciju. Dzēšana būs iespējama nākotnē."
},
"duplicate": "",
"duplicate": "Dublicēt",
"rename": {
"label": "",
"label": "Pārdēvēt",
"modal": {
"title": "",
"title": "Pārdēvēt dēli {{name}}",
"fields": {
"name": {
"label": "",
"placeholder": ""
"label": "Jauns nosaukums",
"placeholder": "Jauns dēļa nosaukums"
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions public/locales/lv/manage/users.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
},
"filter": {
"roles": {
"all": "",
"normal": "",
"admin": "",
"owner": ""
"all": "Viss",
"normal": "Normāls",
"admin": "Administrators",
"owner": "Īpašnieks"
}
},
"table": {
Expand Down
32 changes: 16 additions & 16 deletions public/locales/lv/manage/users/edit.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"metaTitle": "",
"back": "",
"metaTitle": "Lietotājs {{username}}",
"back": "Atgriezties uz lietotāju pārvaldību",
"sections": {
"general": {
"title": "Vispārīgi",
Expand All @@ -14,40 +14,40 @@
}
},
"security": {
"title": "",
"title": "Drošība",
"inputs": {
"password": {
"label": ""
"label": "Jauna parole"
},
"terminateExistingSessions": {
"label": "",
"description": ""
"label": "Pārtraukt esošās sesijas",
"description": "Piespiež lietotāju no jauna pieteikties savās ierīcēs"
},
"confirm": {
"label": "Apstipriniet",
"description": ""
"description": "Parole tiks atjaunināta. Šo darbību nevar atcelt."
}
}
},
"roles": {
"title": "",
"currentRole": "",
"title": "Lomas",
"currentRole": "Pašreizējā loma: ",
"badges": {
"owner": "",
"admin": "",
"normal": ""
"owner": "Īpašnieks",
"admin": "Administrators",
"normal": "Normāls"
}
},
"deletion": {
"title": "",
"title": "Konta dzēšana",
"inputs": {
"confirmUsername": {
"label": "",
"description": ""
"label": "Apstiprināt lietotājvārdu",
"description": "Ierakstiet lietotājvārdu, lai apstiprinātu dzēšanu"
},
"confirm": {
"label": "Neatgriezeniski dzēst",
"description": ""
"description": "Es apzinos, ka šī darbība ir neatgriezeniska un visi konta dati tiks zaudēti."
}
}
}
Expand Down
14 changes: 7 additions & 7 deletions public/locales/lv/modules/date.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
"settings": {
"title": "Datuma un Laika logrīka iestatījumi",
"timezone": {
"label": "",
"info": ""
"label": "Laika zona",
"info": "Izvēlieties savas laika zonas nosaukumu, atrodiet savējo šeit: "
},
"customTitle": {
"label": ""
"label": "Pilsētas nosaukums vai pielāgots nosaukums"
},
"display24HourFormat": {
"label": "Rādīt pilnu laiku (24 stundu)"
Expand All @@ -21,11 +21,11 @@
}
},
"titleState": {
"label": "",
"info": "",
"label": "Pulksteņa nosaukums",
"info": "Pielāgotais nosaukums un laika zonas kods var tikt parādīts jūsu logrīkā.<br/>Varat arī rādīt tikai pilsētu, nerādīt nevienu,<br/>vai pat rādīt tikai laika joslu, gadījumā ja ir atlasīti abi, bet nav norādīts nosaukums.",
"data": {
"both": "",
"city": "",
"both": "Pilsēta un Laika zona",
"city": "Tikai nosaukums",
"none": "Nekas"
}
}
Expand Down
6 changes: 3 additions & 3 deletions public/locales/lv/modules/rss.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@
"label": "Teksta līniju skava"
},
"sortByPublishDateAscending": {
"label": ""
"label": "Kārtot pēc publicēšanas datuma (augošā secībā)"
},
"sortPostsWithoutPublishDateToTheTop": {
"label": ""
"label": "Ievietot ziņas bez publicēšanas datuma augšpusē"
},
"maximumAmountOfPosts": {
"label": ""
"label": "Maksimālais ierakstu skaits"
}
},
"card": {
Expand Down
18 changes: 9 additions & 9 deletions public/locales/lv/modules/smart-home/entity-state.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
{
"entityNotFound": "",
"entityNotFound": "Vienība nav atrasta",
"descriptor": {
"name": "",
"description": "",
"name": "Home Assistant vienība",
"description": "Vienības pašreizējais stāvoklis pakalpojumā Home Assistant",
"settings": {
"title": "",
"title": "Vienības stāvoklis",
"entityId": {
"label": "",
"info": ""
"label": "Vienības ID",
"info": "Unikāls vienības ID pakalpojumā Home Assistant. Ievietojiet starpliktuvē, noklikšķinot uz vienību > Noklikšķiniet uz zobrata ikonu > Noklikšķiniet uz kopēšanas pogu pie \"Vienības ID\". Dažas pielāgotas vienības var nebūt atbalstītas."
},
"automationId": {
"label": "",
"info": ""
"label": "Izvēles automatizācijas ID",
"info": "Jūsu unikālais automatizācijas ID. Vienmēr sākas ar automatizāciju.XXXX. Ja tas nav iestatīts, logrīks nebūs noklikšķināms un tiks parādīts tikai statuss. Pēc noklikšķināšanas vienības stāvoklis tiks atsvaidzināts."
},
"displayName": {
"label": ""
"label": "Parādāmais nosaukums"
}
}
}
Expand Down
12 changes: 6 additions & 6 deletions public/locales/lv/modules/smart-home/trigger-automation.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"descriptor": {
"name": "",
"description": "",
"name": "Home Assistant automatizācija",
"description": "Automatizācijas izpilde",
"settings": {
"title": "",
"title": "Automatizācijas izpilde",
"automationId": {
"label": "",
"info": ""
"label": "Automatizācijas ID",
"info": "Jūsu unikālais automatizācijas ID. Vienmēr sāksies ar automation.XXXXX."
},
"displayName": {
"label": ""
"label": "Parādāmais nosaukums"
}
}
}
Expand Down
Loading

0 comments on commit 2e014a5

Please sign in to comment.