From 2d416dca4635b692c3964893a8edfb1f0312361d Mon Sep 17 00:00:00 2001 From: okxlin Date: Mon, 4 Sep 2023 01:45:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0dashmachine=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8(=E6=84=9F=E8=B0=A2=E7=BD=91=E5=8F=8B?= =?UTF-8?q?=E5=8C=85=E5=AD=90=E5=8F=94=E7=9A=84=E6=8A=95=E7=A8=BF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dashmachine/README.md | 55 +++++++++++++++++++++ apps/dashmachine/data.yml | 20 ++++++++ apps/dashmachine/latest/.env.sample | 3 ++ apps/dashmachine/latest/data.yml | 17 +++++++ apps/dashmachine/latest/docker-compose.yml | 18 +++++++ apps/dashmachine/logo.png | Bin 0 -> 3775 bytes 6 files changed, 113 insertions(+) create mode 100644 apps/dashmachine/README.md create mode 100644 apps/dashmachine/data.yml create mode 100644 apps/dashmachine/latest/.env.sample create mode 100644 apps/dashmachine/latest/data.yml create mode 100644 apps/dashmachine/latest/docker-compose.yml create mode 100644 apps/dashmachine/logo.png diff --git a/apps/dashmachine/README.md b/apps/dashmachine/README.md new file mode 100644 index 00000000..3a5e9161 --- /dev/null +++ b/apps/dashmachine/README.md @@ -0,0 +1,55 @@ +# DashMachine + +## 默认账号密码 +``` +User: admin +Password: admin +``` + +## 安装 + +### 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 + +## FAQs +1. application does not work in iframe +see https://github.com/rmountjoy92/DashMachine/issues/6 + +## 演示 + +![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) diff --git a/apps/dashmachine/data.yml b/apps/dashmachine/data.yml new file mode 100644 index 00000000..87ae3d33 --- /dev/null +++ b/apps/dashmachine/data.yml @@ -0,0 +1,20 @@ +name: DashMachine +tags: + - 工具 +title: 一个具有有趣功能的 Web 应用程序书签仪表板 +type: 工具 +description: 一个具有有趣功能的 Web 应用程序书签仪表板 +additionalProperties: + key: dashmachine + name: DashMachine + tags: + - Tool + shortDescZh: 一个具有有趣功能的 Web 应用程序书签仪表板 + shortDescEn: A web application bookmark dashboard, with fun features + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://github.com/rmountjoy92/DashMachine + github: https://github.com/rmountjoy92/DashMachine + document: https://github.com/rmountjoy92/DashMachine diff --git a/apps/dashmachine/latest/.env.sample b/apps/dashmachine/latest/.env.sample new file mode 100644 index 00000000..b6e87966 --- /dev/null +++ b/apps/dashmachine/latest/.env.sample @@ -0,0 +1,3 @@ +CONTAINER_NAME="dashmachine" +PANEL_APP_PORT_HTTP="40144" +DATA_PATH="./data" diff --git a/apps/dashmachine/latest/data.yml b/apps/dashmachine/latest/data.yml new file mode 100644 index 00000000..fe298135 --- /dev/null +++ b/apps/dashmachine/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 40144 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text diff --git a/apps/dashmachine/latest/docker-compose.yml b/apps/dashmachine/latest/docker-compose.yml new file mode 100644 index 00000000..9624765d --- /dev/null +++ b/apps/dashmachine/latest/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + dashmachine: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:5000" + volumes: + - "${DATA_PATH}:/dashmachine/dashmachine/user_data" + image: rmountjoy/dashmachine:latest + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/dashmachine/logo.png b/apps/dashmachine/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d0456de67712decd8965e7a6584b8c8efd88fc7e GIT binary patch literal 3775 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 literal 0 HcmV?d00001