From c24a629cbb598810adb2f19ee33c8d51ea9101db Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Wed, 10 Jul 2024 22:19:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20Go=20=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8E=AF=E5=A2=83=20(#1717)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/go/1.21/data.yml | 1 + apps/go/1.21/docker-compose.yml | 20 ++++++++++++++++++++ apps/go/1.21/run.sh | 6 ++++++ apps/go/1.22/data.yml | 1 + apps/go/1.22/docker-compose.yml | 20 ++++++++++++++++++++ apps/go/1.22/run.sh | 6 ++++++ apps/go/README.md | 25 +++++++++++++++++++++++++ apps/go/data.yml | 18 ++++++++++++++++++ apps/go/logo.png | Bin 0 -> 15475 bytes apps/node/12.22.12/docker-compose.yml | 4 ++-- apps/node/14.21.3/docker-compose.yml | 4 ++-- apps/node/16.20.2/docker-compose.yml | 4 ++-- apps/node/18.20.3/docker-compose.yml | 2 +- apps/node/20.14.0/docker-compose.yml | 2 +- apps/node/21.7.3/docker-compose.yml | 2 +- apps/node/22.2.0/docker-compose.yml | 2 +- 16 files changed, 107 insertions(+), 10 deletions(-) create mode 100644 apps/go/1.21/data.yml create mode 100644 apps/go/1.21/docker-compose.yml create mode 100644 apps/go/1.21/run.sh create mode 100644 apps/go/1.22/data.yml create mode 100644 apps/go/1.22/docker-compose.yml create mode 100644 apps/go/1.22/run.sh create mode 100644 apps/go/README.md create mode 100644 apps/go/data.yml create mode 100644 apps/go/logo.png diff --git a/apps/go/1.21/data.yml b/apps/go/1.21/data.yml new file mode 100644 index 000000000..fcc6ed694 --- /dev/null +++ b/apps/go/1.21/data.yml @@ -0,0 +1 @@ +additionalProperties: \ No newline at end of file diff --git a/apps/go/1.21/docker-compose.yml b/apps/go/1.21/docker-compose.yml new file mode 100644 index 000000000..fdd58ca20 --- /dev/null +++ b/apps/go/1.21/docker-compose.yml @@ -0,0 +1,20 @@ +services: + golang: + image: golang:${GO_VERSION} + container_name: ${CONTAINER_NAME} + working_dir: /app + volumes: + - ${CODE_DIR}:/app + - ./run.sh:/run.sh + - ./.env:/.env + - ./mod:/go/pkg/mod + command: bash /run.sh + networks: + - 1panel-network + ports: + - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${GO_APP_PORT} + restart: on-failure:5 + +networks: + 1panel-network: + external: true diff --git a/apps/go/1.21/run.sh b/apps/go/1.21/run.sh new file mode 100644 index 000000000..3b1362632 --- /dev/null +++ b/apps/go/1.21/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +source /.env +$EXEC_SCRIPT + + diff --git a/apps/go/1.22/data.yml b/apps/go/1.22/data.yml new file mode 100644 index 000000000..fcc6ed694 --- /dev/null +++ b/apps/go/1.22/data.yml @@ -0,0 +1 @@ +additionalProperties: \ No newline at end of file diff --git a/apps/go/1.22/docker-compose.yml b/apps/go/1.22/docker-compose.yml new file mode 100644 index 000000000..fdd58ca20 --- /dev/null +++ b/apps/go/1.22/docker-compose.yml @@ -0,0 +1,20 @@ +services: + golang: + image: golang:${GO_VERSION} + container_name: ${CONTAINER_NAME} + working_dir: /app + volumes: + - ${CODE_DIR}:/app + - ./run.sh:/run.sh + - ./.env:/.env + - ./mod:/go/pkg/mod + command: bash /run.sh + networks: + - 1panel-network + ports: + - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${GO_APP_PORT} + restart: on-failure:5 + +networks: + 1panel-network: + external: true diff --git a/apps/go/1.22/run.sh b/apps/go/1.22/run.sh new file mode 100644 index 000000000..3b1362632 --- /dev/null +++ b/apps/go/1.22/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +source /.env +$EXEC_SCRIPT + + diff --git a/apps/go/README.md b/apps/go/README.md new file mode 100644 index 000000000..bd93c8be6 --- /dev/null +++ b/apps/go/README.md @@ -0,0 +1,25 @@ +# Golang + +Golang(也称为 Go)是由谷歌开发的一种静态类型、编译型编程语言,以其简洁、强大和高性能而闻名,特别适合构建高效和可扩展的服务器端应用程序。 + +## 主要功能: + +- **高性能**:Golang 以其高效的编译和执行速度而著称。它生成的可执行文件非常小,并且能够快速启动和执行,使其非常适合构建高性能服务器和微服务。 + +- **简洁和清晰**:Golang 设计的初衷之一就是保持语言的简洁和易读性。它避免了许多复杂的特性,强调代码的清晰和简洁,从而提高开发者的生产力。 + +- **并发性**:Golang 原生支持并发编程,通过 goroutines 和 channels 提供了简单且强大的并发模型,使得构建高并发的应用程序变得更加容易。 + +- **内存管理**:Golang 提供了自动垃圾回收机制,减少了开发者手动管理内存的负担,降低了内存泄漏和其他相关错误的风险。 + +- **标准库**:Golang 拥有丰富且强大的标准库,涵盖了网络编程、文件处理、数据结构等常见需求,极大地简化了开发过程。 + +- **静态类型**:Golang 是一种静态类型的编程语言,编译器在编译时就能捕获大部分错误,增强了代码的可靠性和可维护性。 + +- **跨平台**:Golang 可以在多种操作系统上运行,包括 Windows、Linux 和 macOS,编写一次代码即可在多个平台上编译和执行。 + +- **内置工具**:Golang 提供了丰富的内置工具,如 gofmt 用于格式化代码,godoc 用于生成文档,go test 用于测试代码,极大地提升了开发体验。 + +- **模块化**:Golang 支持模块化编程,通过模块(module)和包(package)管理代码,使得代码组织更加清晰和可维护。 + +- **社区支持**:Golang 拥有一个活跃且庞大的开发者社区,开发者可以轻松找到各种库和工具来扩展其功能,同时也能够获得社区的支持和反馈。 diff --git a/apps/go/data.yml b/apps/go/data.yml new file mode 100644 index 000000000..8f0718340 --- /dev/null +++ b/apps/go/data.yml @@ -0,0 +1,18 @@ +name: Go +tags: + - 运行环境 +title: Go 运行环境 +description: Go 运行环境 +additionalProperties: + key: go + name: Go + tags: + - Runtime + shortDescZh: Go 运行环境 + shortDescEn: Go Runtime + type: go + crossVersionUpdate: false + limit: 0 + recommend: 102 + website: https://go.dev/ + github: https://github.com/golang/go diff --git a/apps/go/logo.png b/apps/go/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d98c3bde8f96b092a27a2b262117d66e6501c7 GIT binary patch literal 15475 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 literal 0 HcmV?d00001 diff --git a/apps/node/12.22.12/docker-compose.yml b/apps/node/12.22.12/docker-compose.yml index 87b874e3b..aacac4c8b 100644 --- a/apps/node/12.22.12/docker-compose.yml +++ b/apps/node/12.22.12/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/14.21.3/docker-compose.yml b/apps/node/14.21.3/docker-compose.yml index 87b874e3b..aacac4c8b 100644 --- a/apps/node/14.21.3/docker-compose.yml +++ b/apps/node/14.21.3/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/16.20.2/docker-compose.yml b/apps/node/16.20.2/docker-compose.yml index 87b874e3b..aacac4c8b 100644 --- a/apps/node/16.20.2/docker-compose.yml +++ b/apps/node/16.20.2/docker-compose.yml @@ -1,6 +1,6 @@ services: node: - image: node:${NODE_VERSION} + image: 1panel/node:${NODE_VERSION} container_name: ${CONTAINER_NAME} working_dir: /app volumes: @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/18.20.3/docker-compose.yml b/apps/node/18.20.3/docker-compose.yml index 6778d948f..aacac4c8b 100644 --- a/apps/node/18.20.3/docker-compose.yml +++ b/apps/node/18.20.3/docker-compose.yml @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/20.14.0/docker-compose.yml b/apps/node/20.14.0/docker-compose.yml index 6778d948f..aacac4c8b 100644 --- a/apps/node/20.14.0/docker-compose.yml +++ b/apps/node/20.14.0/docker-compose.yml @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/21.7.3/docker-compose.yml b/apps/node/21.7.3/docker-compose.yml index 6778d948f..aacac4c8b 100644 --- a/apps/node/21.7.3/docker-compose.yml +++ b/apps/node/21.7.3/docker-compose.yml @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true diff --git a/apps/node/22.2.0/docker-compose.yml b/apps/node/22.2.0/docker-compose.yml index 6778d948f..aacac4c8b 100644 --- a/apps/node/22.2.0/docker-compose.yml +++ b/apps/node/22.2.0/docker-compose.yml @@ -12,7 +12,7 @@ services: - 1panel-network ports: - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${NODE_APP_PORT} - restart: always + restart: on-failure:5 networks: 1panel-network: external: true