Code Monkey home page Code Monkey logo

dashmachine's Introduction

DashMachine

Another web application bookmark dashboard, with fun features.

screenshot

screenshot

screenshot

Features

  • creates a dashboard to view web pages
  • uses a single .ini file for configuration
  • dark mode/light mode and accent colors
  • custom backgrounds and icons
  • web interface to edit the config file and add image files
  • ability to open web pages in current tab, new tab or iframe
  • hideable sidebar with dragable reveal button
  • user login system
  • 'app templates' which are sample config entries for popular self hosted apps
  • powerful plugin system for adding data from various sources to display on cards
  • multiple users, access groups, access settings
  • tagging system

Installation

Docker

docker create \
  --name=dashmachine \
  -p 5000:5000 \
  -v path/to/data:/dashmachine/dashmachine/user_data \
  --restart unless-stopped \
  rmountjoy/dashmachine:latest

To run in a subfolder, use a CONTEXT_PATH environment variable. For example, to run at localhost:5000/dash:

docker create \
  --name=dashmachine \
  -p 5000:5000 \
  -e CONTEXT_PATH=/dash
  -v path/to/data:/dashmachine/dashmachine/user_data \
  --restart unless-stopped \
  rmountjoy/dashmachine:latest

Python

Instructions are for linux.

virtualenv --python=python3 DashMachineEnv
cd DashMachineEnv && source bin/activate
git clone https://git.wolf-house.net/ross/DashMachine.git
cd DashMachine && pip install -r requirements.txt
python3 run.py

Then open a web browser and go to localhost:5000

Default user/password

User: admin
Password: adminadmin

Updating

For python, use git. For docker, just pull the latest image and recreate the container.

Note: if you update DashMachine and it fails to start, it's possible something is messed up with your database file. Backup your files in the user_data folder, delete the contents and restart DashMachine. This will reset your user table, so log in with the default user/pass.

Configuration

The user data folder is located at DashMachine/dashmachine/user_data. This is where the config.ini, custom backgrounds/icons, and the database file live. A reference for what can go into the config.ini file can be found on the settings page of the dashmachine by clicking the info icon next to 'Config'.

Note

If you change the config.ini file, you either have to restart the container (or python script) or click the 'save' button in the config section of settings for the config to be applied. Pictures added to the backgrounds/icons folders are available immediately.

Want to contribute?

Please use the pull request template at: https://github.com/rmountjoy92/DashMachine/blob/master/pull_request_template.md

See this link for how to create a pull request: https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request

Subreddit

https://www.reddit.com/r/DashMachine

Want to buy me a coffee?

Donate using Liberapay

Tech used

  • Flask
  • SQLalchemy w/ SQLite
  • Jinja2
  • Materialize css
  • JavaScript/jQuery/jQueryUI
  • Requests (python)

FAQs

  1. application does not work in iframe see rmountjoy92/DashMachine#6

dashmachine's People

Contributors

rmountjoy92 avatar di-dc avatar captain-otter avatar lingawakad avatar nixellion avatar azelphur avatar spiral6 avatar supersandro2000 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.