Skip to content

📈 a more minimal dashboard service, written in rust

License

Notifications You must be signed in to change notification settings

phntxx/minidash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minidash - because dashboard is bloat.

Docker Cloud Build Status Docker Image Size (latest) GitHub License

Minidash screenshot

Minidash is a reinterpretation of the original dashboard project. Its goal is to be a lot more lightweight than the original project, whilst being simpler to configure and run. It uses Rust for setting up a web server and reading the configuration, making the source code incredibly compact.

Running this project

To run this project, simply run:

docker run -it -p 3000:3000 -v $PWD/data:/app/data phntxx/minidash

You will however need the data-directory for this. Just download the data directory from this repository as a starting-off point and then adjust that to fit your needs.

Development

This project is built using cargo, so building the project is as simple as running:

cargo run

However, environment variables are needed for this to run right, see Configuration:Environment Variables

Configuration

This project can be configured using files and environment variables to suit your needs just right.

Files

This project requires two files: The template and the configuration file.

The template file is a simple handlebar-template. Use the one supplied here or use it as an example to make your own.

The configuration file is a YAML file that contains all of your links, be it apps or bookmarks. By default, it looks like this:

---
apps:

  app_name:
    url: app_url
    display_url: app_display_url
    icon: app_icon

  ...

bookmarks:

  group_name:
    - name: group_item_name
      url: group_item_url

    ...

  ...

Environment variables

This tool requires three environment variables to be set:

  • TEMPLATE_FILE: The path to the template file. With the docker image this defaults to /app/template.hbs.
  • CONFIG_FILE: The path to the config file. With the docker image this defaults to /app/config.yml.
  • STATIC_PATH: The path where static files are hosted. These can then be accessed by navigating to - e.g. - /static/test.png. With the docker image this defaults to /app/data/static.
  • ADDRESS: The IP-address and port that the web server should listen on. With the docker image this defaults to 0.0.0.0:3000.

These three variables need to be set when running cargo run in order for the program to do anything.

Additionally, since this project uses the env-logger crate, the RUST_LOG environment variable can also be modified to adjust logging levels.

About

📈 a more minimal dashboard service, written in rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages