From 040ef1313ebcbe1377a05de1361cfd0e906acac7 Mon Sep 17 00:00:00 2001 From: wanghe Date: Mon, 8 Jul 2024 09:45:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8A=E6=9E=B6=20Dashy=20(#1707)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dashy/3.1.0/data.yml | 10 +++++ apps/dashy/3.1.0/data/item-icons/.gitkeep | 0 apps/dashy/3.1.0/data/user-data/conf.yml | 47 ++++++++++++++++++++++ apps/dashy/3.1.0/docker-compose.yml | 21 ++++++++++ apps/dashy/3.1.0/scripts/init.sh | 3 ++ apps/dashy/README.md | 12 ++++++ apps/dashy/data.yml | 19 +++++++++ apps/dashy/logo.png | Bin 0 -> 9409 bytes 8 files changed, 112 insertions(+) create mode 100644 apps/dashy/3.1.0/data.yml create mode 100644 apps/dashy/3.1.0/data/item-icons/.gitkeep create mode 100644 apps/dashy/3.1.0/data/user-data/conf.yml create mode 100644 apps/dashy/3.1.0/docker-compose.yml create mode 100644 apps/dashy/3.1.0/scripts/init.sh create mode 100644 apps/dashy/README.md create mode 100644 apps/dashy/data.yml create mode 100644 apps/dashy/logo.png diff --git a/apps/dashy/3.1.0/data.yml b/apps/dashy/3.1.0/data.yml new file mode 100644 index 00000000..5b0c531a --- /dev/null +++ b/apps/dashy/3.1.0/data.yml @@ -0,0 +1,10 @@ +additionalProperties: + formFields: + - default: 40209 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number diff --git a/apps/dashy/3.1.0/data/item-icons/.gitkeep b/apps/dashy/3.1.0/data/item-icons/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/dashy/3.1.0/data/user-data/conf.yml b/apps/dashy/3.1.0/data/user-data/conf.yml new file mode 100644 index 00000000..5f0b012a --- /dev/null +++ b/apps/dashy/3.1.0/data/user-data/conf.yml @@ -0,0 +1,47 @@ +--- +# Page meta info, like heading, footer text and nav links +pageInfo: + title: Dashy + description: Welcome to your new dashboard! + navLinks: + - title: GitHub + path: https://github.com/Lissy93/dashy + - title: Documentation + path: https://dashy.to/docs + +# Optional app settings and configuration +appConfig: + theme: colorful + +# Main content - An array of sections, each containing an array of items +sections: +- name: Getting Started + icon: fas fa-rocket + items: + - title: Dashy Live + description: Development a project management links for Dashy + icon: https://i.ibb.co/qWWpD0v/astro-dab-128.png + url: https://live.dashy.to/ + target: newtab + - title: GitHub + description: Source Code, Issues and Pull Requests + url: https://github.com/lissy93/dashy + icon: favicon + - title: Docs + description: Configuring & Usage Documentation + provider: Dashy.to + icon: far fa-book + url: https://dashy.to/docs + - title: Showcase + description: See how others are using Dashy + url: https://github.com/Lissy93/dashy/blob/master/docs/showcase.md + icon: far fa-grin-hearts + - title: Config Guide + description: See full list of configuration options + url: https://github.com/Lissy93/dashy/blob/master/docs/configuring.md + icon: fas fa-wrench + - title: Support + description: Get help with Dashy, raise a bug, or get in contact + url: https://github.com/Lissy93/dashy/blob/master/.github/SUPPORT.md + icon: far fa-hands-helping + \ No newline at end of file diff --git a/apps/dashy/3.1.0/docker-compose.yml b/apps/dashy/3.1.0/docker-compose.yml new file mode 100644 index 00000000..d564015f --- /dev/null +++ b/apps/dashy/3.1.0/docker-compose.yml @@ -0,0 +1,21 @@ +services: + dashy: + container_name: ${CONTAINER_NAME} + image: lissy93/dashy:3.1.0 + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + volumes: + - ./data/user-data/conf.yml:/app/user-data/conf.yml + - ./data/item-icons:/app/user-data/item-icons + environment: + - NODE_ENV=production + - UID=1000 + - GID=1000 + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/dashy/3.1.0/scripts/init.sh b/apps/dashy/3.1.0/scripts/init.sh new file mode 100644 index 00000000..4e811c86 --- /dev/null +++ b/apps/dashy/3.1.0/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 1000:1000 data \ No newline at end of file diff --git a/apps/dashy/README.md b/apps/dashy/README.md new file mode 100644 index 00000000..175be069 --- /dev/null +++ b/apps/dashy/README.md @@ -0,0 +1,12 @@ +# Dashy + +**Dashy** 是一个功能强大的开源仪表盘应用程序,用于组织和管理您的书签、链接和常用应用程序。它允许用户创建一个自定义的仪表盘界面,轻松访问日常使用的工具和服务。 + +## 特点 + +- **高度自定义**:用户可以根据个人需求和喜好,通过配置文件自定义仪表盘的布局和外观。 +- **多种集成**:支持与各种服务和应用集成,如 Docker、Kubernetes、GitHub 等,提供实时监控和快捷操作。 +- **易于设置和使用**:提供简单的配置文件(YAML/JSON),用户可以轻松添加、编辑和删除项目。 +- **响应式设计**:适用于各种设备,确保在桌面和移动设备上的良好体验。 +- **安全**:支持多种身份验证方式,如用户名/密码、OAuth2 等,保障数据安全。 +- **社区支持**:作为一个开源项目,拥有活跃的社区,用户可以获得支持并参与项目开发。 \ No newline at end of file diff --git a/apps/dashy/data.yml b/apps/dashy/data.yml new file mode 100644 index 00000000..6dff03b8 --- /dev/null +++ b/apps/dashy/data.yml @@ -0,0 +1,19 @@ +name: Dashy +tags: + - 建站 +title: 专为您打造的可自行托管的个人仪表板 +description: 专为您打造的可自行托管的个人仪表板 +additionalProperties: + key: dashy + name: Dashy + tags: + - WebSite + shortDescZh: 专为您打造的可自行托管的个人仪表板 + shortDescEn: A self-hostable personal dashboard built for you + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://dashy.to + github: https://github.com/Lissy93/dashy + document: https://dashy.to/docs diff --git a/apps/dashy/logo.png b/apps/dashy/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e1f6c93b10581c2720772a73385499112e7bff04 GIT binary patch literal 9409 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