Giter Club home page Giter Club logo

honey's Introduction

honey

A sweet dashboard I use on my homeserver with some self-hosted stuff...

honey is written in pure HTML CSS JS so dynamic backend or special webserver configuration is not required. It works out-of-the-box as all operations are done client-side.

πŸ“Ί Live demo

πŸš€ Installation

πŸ•ΈοΈ On existing webserver

  1. Download latest prebuilt archive from Releases.

  2. Extract downloaded archive to your webserver root.

  3. You're done!

πŸ‹ via Docker

docker run -p 4173:4173 -v /path/to/config:/app/dist/config:ro ghcr.io/dani3l0/honey:latest
  • -p 4173:4173 - exposes HTTP port to your machine
  • -v /path/to/config:/app/dist/config:ro - mounts config directory to your local filesystem in read-only mode (we don't need write permissions)

If you have custom icons or background images, you can freely put them in config dir. Just remember to provide valid URLs (with /config prefix).

βš™οΈ Configuration

Configuration file is located at config/config.json.

πŸ“± Tweaking the user interface

The following keys are available under ui section. Some of them are listed in Settings page and can be customized by end-user.

Key name Description in Settings
name Name shown at the main screen and the tab title. ❌
desc Short description shown under title at the main screen. ❌
icon Icon shown at the main screen and as site's favicon. ❌
wallpaper Background image visible when dark mode is disabled. ❌
wallpaper_dark Background image visible when dark mode is enabled. ❌
dark_mode Tells whether dark mode is enabled by default. βœ…
open_new_tab Tells whether clicking on a service will open it in new tab by default. βœ…
blur Tells whether card background blur is enabled by default. βœ…
animations Tells whether UI animations are enabled by default. βœ…

πŸ”— Adding custom services

services section is an array containing objects. Object's structure looks like this:

Key name Description
name Your service's name.
desc Short description shown under service's name.
href URL address of your service. It is directly passed to <a> tag.
icon Path to an icon of your service.

Example:

...
{
	"name": "CalDav",
	"desc": "Simple CalDav server for calendar sync between various devices.",
	"href": "caldav",
	"icon": "img/preview/caldav.png"
},
...

πŸ› οΈ Development

honey is built on top of Vite.js. This tool allows faster development and offers various optimizations.

How to prepare a development environment:

# Download the source code
git clone https://github.com/dani3l0/honey && cd honey

# Install required modules
npm i

πŸ—Ό Live server

For coding. This will spin up a HTTP server on localhost:5173. Each time source file is saved, UI will automatically hot-reload so there is no need for ALT+TAB and F5.

npm run dev

πŸ—οΈ Build

Prepare project for production. This command will link and optimize project assets to take less space and require less bandwith. Prebuilt assets will be stored in dist directory and are ready to be put in a webserver root.

npm run build

🀝 Credits

Of course, some third-party resources are used in this project. I kanged them for self-hosting, easier development and to avoid compatibility issues.

  • Material Icons, for app icons at Services page

  • Google Fonts, for material icons on buttons and Quicksand font

  • honey icon - random icon found in DuckDuckGo Images

  • Wallpapers - very nice background images kanged from wallhaven

honey's People

Contributors

dani3l0 avatar l33tlamer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.