From 1bc322fa791079cf5d1f0523fe3676c8f3212c09 Mon Sep 17 00:00:00 2001 From: lllllllillllllillll <147879489+lllllllillllllillll@users.noreply.github.com> Date: Fri, 24 Nov 2023 00:52:49 -0800 Subject: [PATCH] v0.06 Updated README and CHANGELOG Connect-redis needed to be rolled back from dependabots pull request. --- CHANGELOG.md | 78 +++++++++++--------- README.md | 180 ++++++++++++++++++++++------------------------ package-lock.json | 13 ++-- package.json | 2 +- 4 files changed, 136 insertions(+), 137 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31f8945..d6a02aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,35 +1,43 @@ -## v0.05 ( Nov 17th 2023 ) -* Environment Variables and Labels are now unchecked by default. -* Support for Docker volumes. -* Fixed app uninstall. -* Fixed Proxy Manager. -* Updated functions to ignore the three DweebUI containers: DweebUI, DweebCache(redis), and DweebProxy(caddy). -* Visual updates: Tabs for networks, images, and volumes. Added 'update' option in container drop-down. -* Updated main.js to prevent javascript errors. -* Fix for templates using 'set' instead of 'default' in environment variables. -* Fixes for templates with no volumes or no labels. -* New README.md. -* New screenshots. -* Automatically persists data in docker volumes if there is no bind mount. - -## v0.04 (Nov 11th 2023) -* Docker Image and Compose file available. -* The containers DweebUI and DweebCache are hidden from the dashboard. -* Default icon for containers. -* Fixed missing information in container details/edit modals (Ports, Env, Volumes, Labels). - -## v0.03 (Nov 5th 2023) -* Container graphs now load instantly on refresh -* Working net data for server dashboard -* Redis is now installed as a docker container. - - -## v0.02 (Nov 1st 2023) -* Significant code clean-up and improvements -* CPU and RAM graphs for each container -* Updated Templates.json -* Fixed text color of VPN and VNC buttons - - -## v0.01 (Oct 15th 2023) -* First release. Not much working. +## v0.06 ( Nov 24th 2023 ) +* Multi-platform image (amd64/arm64). +* Removed Caddy from compose file. +* Proxy Manager UI can be enabled from environment variable. +* Removed hardcoded redis passwords. +* Repo change: Implemented image build-and-publish and dependabot (Thank you, gaby). +* Updated dependencies. + +## v0.05 ( Nov 17th 2023 ) +* Environment Variables and Labels are now unchecked by default. +* Support for Docker volumes. +* Fixed app uninstall. +* Fixed Proxy Manager. +* Updated functions to ignore the three DweebUI containers: DweebUI, DweebCache(redis), and DweebProxy(caddy). +* Visual updates: Tabs for networks, images, and volumes. Added 'update' option in container drop-down. +* Updated main.js to prevent javascript errors. +* Fix for templates using 'set' instead of 'default' in environment variables. +* Fixes for templates with no volumes or no labels. +* New README.md. +* New screenshots. +* Automatically persists data in docker volumes if there is no bind mount. + +## v0.04 (Nov 11th 2023) +* Docker Image and Compose file available. +* The containers DweebUI and DweebCache are hidden from the dashboard. +* Default icon for containers. +* Fixed missing information in container details/edit modals (Ports, Env, Volumes, Labels). + +## v0.03 (Nov 5th 2023) +* Container graphs now load instantly on refresh +* Working net data for server dashboard +* Redis is now installed as a docker container. + + +## v0.02 (Nov 1st 2023) +* Significant code clean-up and improvements +* CPU and RAM graphs for each container +* Updated Templates.json +* Fixed text color of VPN and VNC buttons + + +## v0.01 (Oct 15th 2023) +* First release. Not much working. diff --git a/README.md b/README.md index baf3c6f..fa40689 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,87 @@ -# DweebUI -DweebUI is a simple Docker web interface created with javascript and node.js - -Pre-Pre-Pre-Pre-Pre Alpha v0.05 ( :fire: Experimental. Don't install on any servers you care about :fire: ) - -[![GitHub Stars](https://img.shields.io/github/stars/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll) -[![GitHub License](https://img.shields.io/github/license/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll/DweebUI/blob/main/LICENSE) -[![GitHub Activity](https://img.shields.io/github/commit-activity/y/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll) - -* I haven't used Github very much and I'm still new to javascript. -* This is the first project I've ever released and I'm sure it's full of plenty of bugs and mistakes. -* I probably should have waited a lot longer to share this :| - - - - - - -## Features -* [x] Dashboard provides server metrics (cpu, ram, network, disk) and container controls on a single page. -* [x] Light/Dark Mode. -* [x] Easy to install app templates. -* [x] Automatically persists data in docker volumes if bind mount isn't used. -* [x] Proxy manager for Caddy. -* [x] Partial Portainer Template Support (Network Mode, Ports, Volumes, Enviroment Variables, Labels, Commands, Restart Policy, Nvidia Hardware Acceleration). -* [x] Multi-User built-in. -* [ ] User pages: Shortcuts, Requests, Support. (planned) -* [x] Support for Windows, Linux, and MacOS. -* [ ] Import compose files. (planned) -* [x] Pure javascript. No frameworks or typescript. -* [x] Templates.json maintains compatability with Portainer, allowing you to use the template without needing to use DweebUI. -* [ ] Manage your Docker networks, images, and volumes. (planned) -* [ ] Preset variables. (planned) -* [ ] VPN, VPS, and Firewall Toggles. (planned) -* [ ] Offline Mode. (planned) - -## Setup - -* Docker compose.yaml: -``` -services: -  dweebui: -    container_name: DweebUI -    image: lllllllillllllillll/dweebui:v0.05 -    restart: unless-stopped -    ports: -      - 8000:8000 -    depends_on: -      - cache -    links: -      - cache -    volumes: -      - dweebui:/app -      - caddy:/app/caddyfiles -      - /var/run/docker.sock:/var/run/docker.sock -  cache: -    container_name: DweebCache -    image: redis:6.2-alpine -    restart: always -    command: redis-server --save 20 1 --loglevel warning --requirepass eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81 -    volumes: -      - cache:/data -  proxy: -    container_name: DweebProxy -    image: caddy:2.4.5-alpine -    depends_on: -      - dweebui -    restart: unless-stopped -    network_mode: host -    volumes: -      - caddy:/data -      - caddy:/config -      - caddy:/etc/caddy -volumes: -  dweebui: -  cache: -  caddy: -``` - -* Using setup.sh: -``` -Extract DweebUI.zip and navigate to /DweebUI -cd DweebUI -chmod +x setup.sh -sudo ./setup.sh -``` - - -## Credit - -* UI was built using HTML and CSS elements from https://tabler.io/ -* Apps template based on Portainer template provided by Lissy93 here: https://github.com/Lissy93/portainer-templates -* Most of the app icons were sourced from Walkxcode's dashboard icons here: https://github.com/walkxcode/dashboard-icons +# DweebUI +DweebUI is a simple Docker web interface created with javascript and node.js + +Pre-Pre-Pre-Pre-Pre Alpha v0.06 ( :fire: Experimental. Don't install on any servers you care about :fire: ) + +[![GitHub Stars](https://img.shields.io/github/stars/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll) +[![GitHub License](https://img.shields.io/github/license/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll/DweebUI/blob/main/LICENSE) +[![GitHub Activity](https://img.shields.io/github/commit-activity/y/lllllllillllllillll/DweebUI)](https://github.com/lllllllillllllillll) + +* I haven't used Github very much and I'm still new to javascript. +* This is the first project I've ever released and I'm sure it's full of plenty of bugs and mistakes. +* I probably should have waited a lot longer to share this :| + + + + + + +## Features +* [x] Dashboard provides server metrics (cpu, ram, network, disk) and container controls on a single page. +* [x] Light/Dark Mode. +* [x] Easy to install app templates. +* [x] Automatically persists data in docker volumes if bind mount isn't used. +* [x] Proxy manager for Caddy. (Optional) +* [x] Partial Portainer Template Support (Network Mode, Ports, Volumes, Enviroment Variables, Labels, Commands, Restart Policy, Nvidia Hardware Acceleration). +* [x] Multi-User built-in. +* [ ] User pages: Shortcuts, Requests, Support. (planned) +* [x] Support for Windows, Linux, and MacOS. +* [ ] Import compose files. (planned) +* [x] Pure javascript. No frameworks or typescript. +* [x] Templates.json maintains compatability with Portainer, allowing you to use the template without needing to use DweebUI. +* [ ] Manage your Docker networks, images, and volumes. (planned) +* [ ] Preset variables. (planned) +* [ ] VPN, VPS, and Firewall Toggles. (planned) +* [ ] Offline Mode. (planned) + +## Setup + +* Docker compose.yaml: +``` +services: + dweebui: + container_name: DweebUI + image: lllllllillllllillll/dweebui:v0.06 + environment: + NODE_ENV: production + REDIS_PASS: replace_with_password_for_redis + # Proxy_Manager: enabled + restart: unless-stopped + ports: + - 8000:8000 + depends_on: + - cache + links: + - cache + volumes: + - dweebui:/app + - caddyfiles:/app/caddyfiles + - /var/run/docker.sock:/var/run/docker.sock + cache: + container_name: DweebCache + image: redis:6.2-alpine + restart: always + command: redis-server --save 20 1 --loglevel warning --requirepass replace_with_password_for_redis + volumes: + - cache:/data + +volumes: + dweebui: + cache: + caddyfiles: +``` + +* Using setup.sh: +``` +Extract DweebUI.zip and navigate to /DweebUI +cd DweebUI +chmod +x setup.sh +sudo ./setup.sh +``` + + +## Credit + +* UI was built using HTML and CSS elements from https://tabler.io/ +* Apps template based on Portainer template provided by Lissy93 here: https://github.com/Lissy93/portainer-templates +* Most of the app icons were sourced from Walkxcode's dashboard icons here: https://github.com/walkxcode/dashboard-icons diff --git a/package-lock.json b/package-lock.json index e282510..58e6071 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "bcrypt": "^5.1.0", "child_process": "^1.0.2", - "connect-redis": "^7.1.0", + "connect-redis": "^6.1.3", "dockerode": "^4.0.0", "dockerode-compose": "^1.4.0", "ejs": "^3.1.9", @@ -565,14 +565,11 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/connect-redis": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-7.1.0.tgz", - "integrity": "sha512-UaqO1EirWjON2ENsyau7N5lbkrdYBpS6mYlXSeff/OYXsd6EGZ+SXSmNPoljL2PSua8fgjAEaldSA73PMZQ9Eg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-6.1.3.tgz", + "integrity": "sha512-aaNluLlAn/3JPxRwdzw7lhvEoU6Enb+d83xnokUNhC9dktqBoawKWL+WuxinxvBLTz6q9vReTnUDnUslaz74aw==", "engines": { - "node": ">=16" - }, - "peerDependencies": { - "express-session": ">=1" + "node": ">=12" } }, "node_modules/console-control-strings": { diff --git a/package.json b/package.json index 768113d..41d539f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "dependencies": { "bcrypt": "^5.1.0", "child_process": "^1.0.2", - "connect-redis": "^7.1.0", + "connect-redis": "^6.1.3", "dockerode": "^4.0.0", "dockerode-compose": "^1.4.0", "ejs": "^3.1.9",