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 00000000..fcc6ed69 --- /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 00000000..fdd58ca2 --- /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 00000000..3b136263 --- /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 00000000..fcc6ed69 --- /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 00000000..fdd58ca2 --- /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 00000000..3b136263 --- /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 00000000..bd93c8be --- /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 00000000..8f071834 --- /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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 zVcvp~2qgfRjE0!ax=Xu@7j_rPUAJ5vrx4XV)izZTFcF~y0Fz5siT2^dv6AU(*Yj6GT8pgc1N`C+$l1i~cvBPPPOQG)<6N zoSUsVOArAW5lR4%t*zr70*ZM3&f-;C)L#iA;6GAx%>L&{1w}UQAIw>LL_ns55&#t8 zK|pb2XL1tPTMK$Si?D-KL2;7iDc2xR>t<`tx@zf-L&<~^02C?hOdeVI59&JYELzaR z08$T%BVp=jZZ>n43N9#@Py&GBZ7uwdluz%hKaTM+E#^N8Az*x|ieh`N5>o8$erwJW zoI*u}5&%>u9rf5O`d_)m?~efDb`wCP5W@Lt2$n*MS6g$Hs;~dJ-pp5N&T@ndDkYQv zpb1-x|4miJiwY|$HsQm^t$#l%X@+ui%he{J*vwb8hpN|UzPc5fLYssV05mOq0eJC+ zpBw{=P5JUHRXuF}{bUyr>Xky(@3#Wg7b&#J{rJZwD4ji+vu2K802@LH0Qib@4CGb% z-)_DX%(lK1Z2NxC((CIl{AYczu&HYJv=u9gf~^g$|$R zFM$KF51|AA090-(yx4g7KYz*R&_U1uj72B`0001l_=jN!0000Y2qgdj0Dure2><{9 zAcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi000OflmGw#073{Q0001h5JCw6 z001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`=0ssI22qBaJ0000&2qgdj0Dure z2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi000OflmGw#073{Q0001h z5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`=0ssI22qBaJ0000&2qgdj z0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi000OflmGw#073{Q z0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`=0ssI22qBaJ0000& z2qgdj0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi000OflmGw# z073{Q0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`=0ssI22qBaJ z0000&2qgdj0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi000Of zlmGw#073{Q0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`=0ssI2 z2qBaJ0000&2qgdj0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000Wgirzi z000OflmGw#073{Q0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r>03d`= z0ssI22qBaJ0000&2qgdj0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n0000W zgirzi000OflmGw#073{Q0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jxLJ0r> z03d`=0ssI22qBaJ0000&2qgdj0Dure2><{9AcRl?00008A(Q|B002S=B>(^bfDl3n z0000Wgirzi000OflmGw#073{Q0001h5JCw6001C_Pyzq|00<$J00000LI@=Q004jx zLW%$1jvW&K0KhN|s(;mUu{f&H002lx2><{9AR#3H z004l5lmGw#01{FH0000;NC^M{03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^b zfP|C)0000IQUU+~07ys)0000WAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5 zlmGw#01{FH0000;NC^M{03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C) z0000IQUU+~07ys)0000WAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw# z01{FH0000;NC^M{03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000I zQUU+~07ys)0000WAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH z0000;NC^M{03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~ z07ys)0000WAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000; zNC^M{03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys) z0000WAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000;NC^M{ z03abH0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys)0000W zAte9+0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000;NC^M{03abH z0001hgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys)0000WAte9+ z0Dy#)000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000;NC^M{03abH0001h zgp>dP000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys)0000WAte9+0Dy#) z000005>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000;NC^M{03abH0001hgp>dP z000tF0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys)0000WAte9+0Dy#)00000 z5>f&H002lx2><{9AR#3H004l5lmGw#01{FH0000;NC^M{03abH0001hgp>dP000tF z0ssI2NJt3)001B%B>(^bfP|C)0000IQUU+~07ys)0000WAte9+0Dy#)000005>f&H p002lx2><{9AR#3H004l0+YXC{@=_=0j-CJj002ovPDHLkV1fs?6G{L8 literal 0 KcmV+b0RR6000031 diff --git a/apps/node/12.22.12/docker-compose.yml b/apps/node/12.22.12/docker-compose.yml index 87b874e3..aacac4c8 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 87b874e3..aacac4c8 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 87b874e3..aacac4c8 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 6778d948..aacac4c8 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 6778d948..aacac4c8 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 6778d948..aacac4c8 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 6778d948..aacac4c8 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