Skip to content

Small, self-hostable and customizable homelab dashboard.

License

Notifications You must be signed in to change notification settings

safeboot/nectar

Repository files navigation

Small, self-hostable and customizable homelab dashboard.

Try the Demo!


"Ever dreaming to taste the sweet nectar of morality."

About the Project

Nectar is simple and small dashboard for homelabers. It's designed to be self-hosted and customized to your heart's content. This app uses very little resources and can be run totally offline.

  • 🌤️ Weather Widget (powered by Open-Meteo) - automatically picks up your location (if allowed) and updates periodically to show you the weather and temperature. (HTTPS Only!)
  • 💽 Server List - this app relies on nothing but your configuration, you can adjust the name, hostname and the port. Server list is designed to be a simple list of your servers.
  • 🥪 Apps List - Nectar allows you to categorize your apps by server and search your collection.
  • 📌 Bookmarks - bookmark your favorite websites and organize them in categories through the settings panel.
  • 🎨 Customizable - sort your items and change your Wallpaper to match your style.

Installation

Running Locally (Node.js)

Before you install Nectar, you will need to have Node.js as well as npm installed on your system. You can download Node.js from here.

After you have Node, clone or download the project and extract it to a folder. Open a terminal in the folder and run the following command:

npm install

Once the installation is complete, you can run the app locally using the following command:

npm run dev

This will start the app on http://localhost:3000. You can access the app by opening your browser and navigating to the address.

Running on GitHub Pages / Vercel

Please note that you can also run Nectar on GitHub Pages or any supported provider as listed in Vite's documentation (click here). This method is untested so your mileage may vary...

Running with Docker

You can also run Nectar using Docker. To do this, you will need to have Docker installed on your system. You can download Docker from here.

Once Docker has been successfully installed, clone or download the project and extract it to a folder. Open a terminal in the folder and run the following command:

docker pull ghcr.io/safeboot/nectar:latest

Or alternatively, you can build the image yourself:

docker build -t nectar .

Once the image has been pulled or built, copy over the database files from the db folder like so:

cp -r db /your-database-dir

And then run the following command:

docker run -d -p 3000:5173 -v /your-database-dir:/app/db ghcr.io/safeboot/nectar:latest

One more step!

You will need to place your Wallpapers inside the folder named wallpapers inside the public folder. The app will pick them up and they can be configured inside the Settings panel.

Note that you have to place the wallpapers inside the public/wallpapers folder before building the Docker image (or alternatively you could mount it with -v /my-awesome-wallpapers:/app/public/wallpapers). But worry not, I am working on a way to link storage and have dynamic wallpaper support.

And that's it! You're all set up and ready to go. Enjoy Nectar! 🎉

Roadmap

  • Add bookmarks panel
  • Adjust config through the UI
  • Wallpaper picker
  • Docker support
  • Re-add Weather Widget
  • Reordering Items
  • Time & Weather Formats
  • Demo Page
  • Dynamic Storage Support

License

Licensed under the Apache License, Version 2.0. Check the LICENSE file for more information.