Skip to content

Latest commit

 

History

History
93 lines (73 loc) · 2.96 KB

README.md

File metadata and controls

93 lines (73 loc) · 2.96 KB

DasherControl

Another Interactive Configurable Dashboard with Customisable GridItem with IFrame and Bookmark and other cool feature with basic Container Controller for Docker made with Vuejs and Rust (rocket)

License: MIT GitHub Workflow Status GitHub release (latest by date)

Why ...

Everything is a web app that can be install with a docker in container. I want to manage all my web application on one dashboard like Sonarr and jellyfin without opening like 10 tabs in chrome (rip my ram). When using service like portainer of the docker cli it's long to setup a reverse proxy with SSL to be secure your homelab. So i want to write widget (Applet) that can do all my task that i do on the daily when managing my homelab. Also i want to make a simple dashboard with widget (vuejs compoment) like windows vista, but on the web and save in db.

Preview Look

Preview look 0.1.5 gif Preview look 0.1.2 preview look

Roadmap

DasherControlv1

Finish

  • Applets with IFrame
  • Save Workspace and switch between workspace
  • Applets Management
  • Simple Start and Manage Docker Containers
  • CI/CD
  • User Auth
  • Install App with Docker/Docker-Compose

In Progress

  • Customise Theme and Change Background
  • Logging
  • Canvas applets
  • Terminal ssh web
  • Tests

TODO

  • Documentation
  • User Auth (OAUTH@ Github)
  • Save docker-compose/container info in the database
  • Caddy Config Generator for reverse Proxy and SSL
  • Export and import of containers and workspaces
  • Flooting Windows

Issues

I use Iframe to display the other website some the login of the website will not work because of the csrf token or other restriction of iframe.

Install (Tested only on Ubuntu 20.04)

// bash scripts/rust-setup-dev.sh
// bash scripts/js-dev-setup.sh

cd frontend && npm install && npm run build && cd ..

cargo install diesel_cli --no-default-features --features postgres
// go in Rocket.toml and .env and change DATABASE_URL to your postgresql server
diesel migration run

// create admin user
cargo run --bin create_admin

// run web app
cargo run

Docker

DOCKER_BUILDKIT=1 docker build -t antoinebou13/dashercontrol .

Docker-compose

DOCKER_BUILDKIT=1 docker-compose up -d --build && docker-compose logs

Run tests

cargo test
cd frontend && npm test // no test yet on frontend