Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #218

Open
wants to merge 40 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
753126a
updated run.py to fix behavior when run remotely (i.e. init.d scripts)
marcjmiller Apr 8, 2020
9846f3d
added support for sabnzbd
rxmii4269 Apr 8, 2020
f2cf017
Merge pull request #1 from rxmii4269/master
rxmii4269 Apr 9, 2020
7f29f3f
Merge pull request #119 from rxmii4269/develop
rmountjoy92 Apr 12, 2020
aaf8913
Merge pull request #114 from marcjmiller/fixRunPyForRemoteExecution
rmountjoy92 Apr 12, 2020
dc1863f
Merge pull request #124 from rmountjoy92/master
rmountjoy92 Apr 12, 2020
62191b2
##### Updated to version 0.6!
rmountjoy92 May 7, 2020
0b37598
- fixed problem causing failure to start if no tags or action providers
rmountjoy92 May 8, 2020
0b2bb95
tracking codemirror
rmountjoy92 May 8, 2020
81d3f96
trying to fix docker's annoying git issues.
rmountjoy92 May 8, 2020
c00f5bb
trying to fix docker's annoying git issues.
rmountjoy92 May 8, 2020
e63aa75
trying to fix docker's annoying git issues.
rmountjoy92 May 8, 2020
c521b41
- fixed issue with 'info' tab of settings editor not appearing on des…
rmountjoy92 May 8, 2020
c2e06ff
- fixed error in dockerfile
rmountjoy92 May 9, 2020
7a5309f
- fixed error in dockerfile
rmountjoy92 May 10, 2020
daa4fe6
- fixes #163
rmountjoy92 May 11, 2020
88c1f5f
- started the wiki system
rmountjoy92 May 21, 2020
f5c2467
- fixed error causing wiki form to show on config editor
rmountjoy92 May 21, 2020
a8e15ac
- fixed error causing collections to display over the tag selector dr…
rmountjoy92 May 21, 2020
4b5b7a9
- actually fixed that last issue.
rmountjoy92 May 21, 2020
962bfa7
- disabled expanding cards on mobile devices
rmountjoy92 May 21, 2020
401ddbe
- fixed searchbar covering sidenav
rmountjoy92 May 21, 2020
9243692
- fixed issue where expanding cards were breaking grid
rmountjoy92 May 21, 2020
a779c2e
Add Cyberchef template
saponace May 27, 2020
7f6ae09
Add Kibana template
saponace May 27, 2020
f9a883b
Add Filebrowser template
saponace May 27, 2020
4ad069a
Add Authelia template
saponace May 27, 2020
1999511
Add YoutubeDL-Material template
saponace May 27, 2020
d125645
Add Dozzle template
saponace May 27, 2020
19ac14e
(MANUALLY ADDING PR FROM Thlb 0.6 version) Add Sonarr,Radarr,Tautulli…
rmountjoy92 May 30, 2020
5240f62
(MANUALLY ADDING PR FROM Thlb 0.6 version) Add Lidarr platforms
rmountjoy92 May 30, 2020
52de05c
(MANUALLY ADDING PR FROM Thlb 0.6) Add Docker platform and template app
rmountjoy92 May 30, 2020
3a4cd45
(MANUALLY ADDING PR FROM reedhaffner ) Add available fields in Deluge…
rmountjoy92 May 30, 2020
29b9fe3
(MANUALLY ADDING PR FROM reedhaffner 0.6 version) Add Plex as a platform
rmountjoy92 May 30, 2020
d85dff8
Merge pull request #168 from saponace/feat-new-apps-templates
rmountjoy92 May 30, 2020
29f5054
fixed issue with plex platform
rmountjoy92 May 30, 2020
38f7c18
manually adding #152 to develop
rmountjoy92 May 30, 2020
634d21a
ctrl + s now submits the config editor form.
rmountjoy92 May 30, 2020
6b36295
dark mode toggle on sidenav works now. it changes the user's theme se…
rmountjoy92 May 30, 2020
9ecb749
removed border-bottom from sidenav collection items.
rmountjoy92 May 30, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
Expand Down Expand Up @@ -117,7 +116,9 @@ scheduler.db
scheduler.db

.idea/
.vscode/

dashmachine/user_data/
dashmachine/static/images/icons
dashmachine/static/images/backgrounds
dashmachine/static/images/backgrounds
dashmachine/platform/custom_*
96 changes: 16 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# DashMachine
### Another web application bookmark dashboard, with fun features.
##### Another web application bookmark dashboard, with fun features.

## Before Installing
Please read the latest update post: https://www.reddit.com/r/DashMachine/comments/fqk8gl/version_05/

![screenshot](https://raw.githubusercontent.com/rmountjoy92/DashMachine/master/screenshot1.png)

![screenshot](https://raw.githubusercontent.com/rmountjoy92/DashMachine/master/screenshot2.png)

![screenshot](https://raw.githubusercontent.com/rmountjoy92/DashMachine/master/screenshot3.png)

![screenshot](https://raw.githubusercontent.com/rmountjoy92/DashMachine/master/screenshot4.png)
### Demo
* [Go to live demo](#)

### Features
* creates a dashboard to view web pages
Expand All @@ -27,83 +19,27 @@ Please read the latest update post: https://www.reddit.com/r/DashMachine/comment
* 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
```
### 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'.
### Want to contribute?
* Please submit your pull request on the develop branch, not master.
* Please use the [pull request template](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)

### 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
### Subreddit
* [Go to subreddit](https://www.reddit.com/r/DashMachine)

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
### Want to buy me a coffee?
* [Librepay](https://liberapay.com/rmountjoy/donate)
* [Bountysource](https://www.bountysource.com/teams/dashmachine-app)

## Subreddit
https://www.reddit.com/r/DashMachine
### Want a feature to be added faster?
* [Open a bounty](https://www.bountysource.com/)
* [Bountysource faq](https://github.com/bountysource/core/wiki/Frequently-Asked-Questions)

## Want to buy me a coffee?
recurring:
<a href="https://liberapay.com/rmountjoy/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>

recurring or one-time:
https://www.bountysource.com/teams/dashmachine-app

## Want a feature to be added faster?
Open a bounty on https://www.bountysource.com/

Bountysource faq: https://github.com/bountysource/core/wiki/Frequently-Asked-Questions

## Tech used
### Tech used
* Flask
* SQLalchemy w/ SQLite
* Jinja2
* Materialize css
* JavaScript/jQuery/jQueryUI

## FAQs
1. application does not work in iframe
see https://github.com/rmountjoy92/DashMachine/issues/6
15 changes: 14 additions & 1 deletion dashmachine/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import os
import uuid
from flask import Flask
from flask_caching import Cache
from flask_sqlalchemy import SQLAlchemy
Expand All @@ -11,13 +12,23 @@
if not os.path.isdir(user_data_folder):
os.mkdir(user_data_folder)

secret_file = os.path.join(user_data_folder, ".secret")
if not os.path.isfile(secret_file):
with open(secret_file, "w") as new_file:
new_file.write(uuid.uuid4().hex)

with open(secret_file, "r") as secret_file:
secret_key = secret_file.read().encode("utf-8")
if len(secret_key) < 32:
secret_key = uuid.uuid4().hex

context_path = os.getenv("CONTEXT_PATH", "")
app = Flask(__name__, static_url_path=context_path + "/static")
cache = Cache(app, config={"CACHE_TYPE": "simple"})
api = Api(app)

app.config["AVATARS_IDENTICON_BG"] = (255, 255, 255)
app.config["SECRET_KEY"] = "66532a62c4048f976e22a39638b6f10e"
app.config["SECRET_KEY"] = secret_key
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///user_data/site.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config["SEND_FILE_MAX_AGE_DEFAULT"] = 0
Expand All @@ -31,12 +42,14 @@
from dashmachine.user_system.routes import user_system
from dashmachine.error_pages.routes import error_pages
from dashmachine.settings_system.routes import settings_system
from dashmachine.docs_system.routes import docs_system
from dashmachine import sources

app.register_blueprint(main, url_prefix=context_path)
app.register_blueprint(user_system, url_prefix=context_path)
app.register_blueprint(error_pages, url_prefix=context_path)
app.register_blueprint(settings_system, url_prefix=context_path)
app.register_blueprint(docs_system, url_prefix=context_path)


from dashmachine.rest_api.resources import *
Expand Down
Empty file.
Loading