The authentication update is here!
You can now create users and invite your friends on your homarr, instance! It is now considered safe to host on the web!
Homarr's look has been almost completely overhauled, allowing you to have different users with personal preferences each by making use a new database.
Note
As always, if you like homarr please make sure to give it a star ⭐ or you could also make a donation
Either would go a long way to support homarr ❤️
What's new?
- 🚀 Authentication system with users and invites
- ✨ Improved UI for boards (renamed dashboards to boards)
- 💻 Server side preferences makes it so dark mode and language are now synced across all your devices
- 🔗 Invitation links to easily onboard new users
- 👥 Allow guests to visit your dashboards or require users to have an account to interact with it
- 🧠 AI assistant powered by Kapa.ai on the documentation to answer your questions: https://homarr.dev/
- 🌐 Live Translation on Crowdin that enable you to directly translate using images to see what exactly you're translating, check it out at (the docs about live translations)[https://homarr.dev/docs/community/translations#using-live-translate]
- 🐛 A lot of bugs have been removed allowing a smoother experience. More info at the bottom of the page!
Please take a look at the new documentation website here : https://homarr.dev/
Let's take a look at what's new
🐳 New mountpoint
Since we now have a database in homarr in order to save your users, you need to add a new mountpoints, let's go over what's changed in your docker-compose.yml
Warning
If you do not add this mount point, you will lose your users database when updating to a new version
homarr:
container_name: homarr
image: ghcr.io/ajnart/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
- ./homarr/configs:/app/data/configs
- ./homarr/icons:/app/public/icons
+ - ./homarr/data:/data # Database mount point, can also be a volume
ports:
- '7575:7575'
🗄️ Management pages
One of the most requested features ever has been authentication. We've completely removed the PASSWORD
, DISABLE_EDIT_MODE
and EDIT_MODE_PASSWORD
and replaced it by a secure authentication system that enables you to manage multiple users easily. We will allow for more detailed permission and user management soon. LDAP and OIDC integrations are currently also in progress and will arrive in a future version.
⭐ New dashboard layout
We've updated the dashboard user interface to an updated design.
🔧 Server side preferences page
Previously, preferences were stored per dashboard and applied to all users.
In this release, we moved this page to a separate link and store this on the server.
This means that regardless what device your on - your preferences will stay the same when you're logged in.
✉️ Invitations for new users
Tired of creating user accounts by yourself? With the new "invites" feature you can invite new users by simply sending them a link.
This link is valid only once and must have an expiration date - more info on that in our documentation.
Additionally, you can allow or deny access to guests (users without an account) to a specific board in it's customizations page with the following switch :
🤩 New "boards" page
Previously, dashboards were managed in an ugly and hard to control popup.
We've moved this now to the new management pages as well and it's now much easier to control:
Read-only for non-administrators and guests
Yes, managing access to your dashboard is now much easier!
Guests and non-administrators cannot edit your dashboard in any way (edit is hidden):
This is not an definite solution and will be significantly improved in an upcoming update.
Note
We are aware that this update has many breaking changes and may confuse some users.
For that reason, we updated our documentation and will enhance it further within the next few weeks.
We've also added this small button at the bottom of the page were you can ask your questions to an AI-powered assistant:
This AI model was trained on the Homarr documentation and will try to answer as many of your questions as precise as possible.
It is provided to us for free by the awesome team at kapa.ai ! 💥
What's Changed
- 🔖 Release v0.13.2 by @Meierschlumpf in #1262
- v0.13.2 - Hotfixed by @ajnart in #1274
- ♻️ Onboarding page by @manuel-rw in #1295
- 🐛 Fix locale for calendar and clock by @Tagaishi in #1330
- ✨Auth Page Dark/Light mode toggle button by @Tagaishi in #1265
- Version 0.13.3 by @manuel-rw in #1349
- ✅ Add tests for some tools functions by @Meierschlumpf in #1377
- ⬇️ next js 13.4.19 to 13.4.12 by @Tagaishi in #1376
- 🐛 env.port reporting NaN bug fix by @Tagaishi in #1375
- 🔀 Merge 0.13.4 to master by @manuel-rw in #1379
- ✨ Readd possibility to add containers as apps to boards by @Meierschlumpf in #1276
- 🩺 Added healthcheck to image and ARG for port by @devtobi in #1386
- 💄 Added modal for usenet widget by @Tagaishi in #1398
- 💄 Change modal for torrent widget by @Tagaishi in #1397
- 💄 Change modal for Calendar by @Tagaishi in #1396
- 💄 Change modal for media-server by @Tagaishi in #1395
- ✨ Hide DNS-Hole control buttons option by @Tagaishi in #1384
- 🐛 Calendar indicator over header bar fix by @Tagaishi in #1401
- Add autofocus for searchbar by @Meierschlumpf in #1408
- Feature/add allow anonymous switch by @manuel-rw in #1392
- 🐛 Download speed widget nzbget fix by @Tagaishi in #1400
- Feat/add login redirection by @manuel-rw in #1416
- ✨ Add basic authentication by @Meierschlumpf in #1227
- 🐛 Change position selector's dropdown bug by @Tagaishi in #1429
- New Crowdin updates by @ajnart in #1383
- Update step-onboarding-finished.tsx by @ajnart in #1437
- fix: stop triming traling slashes by @hskrtich in #1435
- 💄Allow user to make video stream smaller than 3*2 by @Tagaishi in #1430
- 🐛 Remove DISABLE_EDIT_MODE and replace with admin-procedure by @Meierschlumpf in #1439
- 🐛 Trim media server url by @manuel-rw in #1438
- Update weather.json by @AuthorShin in #1440
- 🐛 Database error with readonly mappings by @manuel-rw in #1420
- 🐛 Fix miscellaneous console errors by @Tagaishi in #1418
- 🐛 DNS-Hole error handling and fixes by @Tagaishi in #1419
- ♻️ Migrate from prisma to drizzle by @Meierschlumpf in #1434
- New Crowdin updates by @ajnart in #1433
- 🔒️ Fix tiptap url CVE by @manuel-rw in #1459
- Fix allow guest issue by @Meierschlumpf in #1472
- 🐛 Issue with migrate script for node 20 by @Meierschlumpf in #1467
- ✅ Add tests for invite router by @Meierschlumpf in #1456
- 🐛 Issue with migrate script in docker by @Meierschlumpf in #1483
- 🐛 Fix the leading slash when adding container via docker by @ajnart in #1478
- ✨ Improve customizations page load speed with SSR by @ajnart in #1477
- New Crowdin updates by @ajnart in #1457
- 🐛 Background image not visible, remove background image from default config by @Meierschlumpf in #1487
- 🐛 500 error when saving user settings, Language not applied after save of user preferences by @Meierschlumpf in #1486
- 🐛 About version and dependencies not present by @Meierschlumpf in #1485
- ✨ Adds support for poster on Radarr v5's api by @Tagaishi in #1469
- 🐛 No validation messages when saving, Dirty state not reset, Wrong page title validation by @Meierschlumpf in #1489
- 🐛 Issue with navigation drawer transitionProps by @Meierschlumpf in #1490
- 🐛 Common settings translation not included within all pages for about credits by @Meierschlumpf in #1491
- Add-umami by @ajnart in #1494
- ✨ Add 401 page by @manuel-rw in #1508
- 🐛 adguard removed max test on process time by @Tagaishi in #1512
- 🐛Clock fix timezone named offset format for dayjs by @Tagaishi in #1517
- ✨ Fetch the weather using a local request instead of a server-side one by @ajnart in #1519
- 🐛 Fix walks repository not up to date by @ajnart in #1520
- Fix walks repo using github by @ajnart in #1522
- ⚰️ Remove docker on index page by @ajnart in #1521
- Fix crowdin links by @ajnart in #1525
- Revert "✨ Fetch the weather using a local request instead of a server-side one" by @ajnart in #1527
- New Crowdin updates by @ajnart in #1529
- Add Chinese traditional as
tw
by @ajnart in #1518 - Update CommonHead.tsx with
crossorigin="use-credentials"
by @ajnart in #1528 - ✨ Common troubleshoot and auto handling by @Tagaishi in #1432
- ✨ Add crowdin live-translate feature! by @ajnart in #1526
- 🐛 Access callback conditions by @manuel-rw in #1536
- Fix Mb/s / MB/s conversion error in torrents speed by @InterN0te in #1541
- Add-czech by @ajnart in #1545
- feat: add support for default ports on http(s) protocols on download.ts by @diogovalentte in #1509
- Fixed Typos by @Spillebulle in #1546
- Update default.json with typo by @justijndepover in #1547
- ✨ Auto handle sonarr and radarr API differences by @Tagaishi in #1548
- Notebook Add Advanced Controls by @Tagaishi in #1452
- New Crowdin updates by @ajnart in #1531
- Add an option to show active torrents when completed torrents are hidden in Torrent Queue widget by @InterN0te in #1534
- Use dynamic conversion for Torrent DownloadSpeed and UploadSpeed by @InterN0te in #1553
- 🐛 Media Request wrapping fix with line clamp by @Tagaishi in #1556
- Turn about modal into a static page by @ajnart in #1539
- Add Torrents ratio in Torrents Queue Widget by @InterN0te in #1554
- 🔇 Remove unnecessary console logs by @ajnart in #1559
- 🔧 Remove Renovate configuration from package.json by @ajnart in #1560
New Contributors
- @devtobi made their first contribution in #1386
- @hskrtich made their first contribution in #1435
- @AuthorShin made their first contribution in #1440
- @InterN0te made their first contribution in #1541
- @diogovalentte made their first contribution in #1509
- @Spillebulle made their first contribution in #1546
- @justijndepover made their first contribution in #1547
Full Changelog: v0.13.4...v0.14.0