/DashMachine

Another web application bookmark dashboard, with fun features.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

DashMachine

Another web application bookmark dashboard, with fun features.

Subreddit subscribers

GitHub last commit Docker Cloud Build Status

Docker Pulls GitHub Repo stars

GitHub repo size Docker Image Size (tag) Lines of code

GPLv3 License Awesome

Donate Bountysource

Want a feature added now? Open a bounty

Screenshots

screenshot

screenshot

screenshot

screenshot

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

Synology

Check out this awesome guide: https://nashosted.com/manage-your-self-hosted-applications-using-dashmachine/

Python

Instructions are for linux.

virtualenv --python=python3 DashMachineEnv
cd DashMachineEnv && source bin/activate
git clone https://github.com/rmountjoy92/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: admin

Updating

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

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

Tech used

  • Flask (Python 3)
  • SQLalchemy w/ SQLite database
  • HTML5/Jinja2
  • Materialize css
  • JavaScript/jQuery/jQueryUI
  • .ini (for configuration)

FAQs

  1. application does not work in iframe see #6