From fd5196cdc98d3d02e200eab1690befd12cd3b13f Mon Sep 17 00:00:00 2001 From: MICUROWS <47475807+TScci@users.noreply.github.com> Date: Thu, 7 Sep 2023 17:53:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20portainer-ce=20?= =?UTF-8?q?=E5=BA=94=E7=94=A8=20(#355)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add portainer-ce * push * Add license scan report and status Signed off by: fossabot --------- Co-authored-by: root Co-authored-by: fossabot --- README.md | 6 ++++ apps/portainer-ce/README.md | 34 ++++++++++++++++++++ apps/portainer-ce/data.yml | 20 ++++++++++++ apps/portainer-ce/latest/data.yml | 17 ++++++++++ apps/portainer-ce/latest/docker-compose.yml | 19 +++++++++++ apps/portainer-ce/logo.png | Bin 0 -> 8609 bytes 6 files changed, 96 insertions(+) create mode 100644 apps/portainer-ce/README.md create mode 100644 apps/portainer-ce/data.yml create mode 100644 apps/portainer-ce/latest/data.yml create mode 100644 apps/portainer-ce/latest/docker-compose.yml create mode 100644 apps/portainer-ce/logo.png diff --git a/README.md b/README.md index 363d5b4e7..be9654009 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # appstore +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FTScci%2Fappstore.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FTScci%2Fappstore?ref=badge_shield) + [1Panel](https://github.com/1Panel-dev/1Panel) 应用商店的官方存储库,包含了所有可以在 [1Panel](https://github.com/1Panel-dev/1Panel) 应用商店安装的应用程序。 [如何提交自己想要的应用](https://github.com/1Panel-dev/appstore/wiki/%E5%A6%82%E4%BD%95%E6%8F%90%E4%BA%A4%E8%87%AA%E5%B7%B1%E6%83%B3%E8%A6%81%E7%9A%84%E5%BA%94%E7%94%A8) + + +## License +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FTScci%2Fappstore.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FTScci%2Fappstore?ref=badge_large) \ No newline at end of file diff --git a/apps/portainer-ce/README.md b/apps/portainer-ce/README.md new file mode 100644 index 000000000..30e0886cd --- /dev/null +++ b/apps/portainer-ce/README.md @@ -0,0 +1,34 @@ +## About Portainer + +Portainer Community Edition (CE) is our foundation. With over half a million regular users, CE is a powerful, open source toolset that allows you to easily build and manage containers in Docker, Docker Swarm, Kubernetes and Azure ACI. + +Portainer hides the complexity of managing containers behind an easy-to-use UI. By removing the need to use the CLI, write YAML or understand manifests, Portainer makes deploying apps and troubleshooting problems so easy that anyone can do it. + +## Portainer architecture + +- **Overview of Portainer architecture** + +Portainer consists of two elements: the Portainer Server and the Portainer Agent. Both run as lightweight containers on your existing containerized infrastructure. The Portainer Agent should be deployed to each node in your cluster and configured to report back to the Portainer Server container. + +A single Portainer Server will accept connections from any number of Portainer Agents, providing the ability to manage multiple clusters from one centralized interface. To do this, the Portainer Server container requires data persistence. The Portainer Agents are stateless, with data being shipped back to the Portainer Server container. + +![The Portainer architecture](https://2914113074-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiZWHJxqQsgWYd9sI88sO%2Fuploads%2FZDidVsHkkHwy97bVrRdM%2Fportainer-architecture-detailed.png?alt=media&token=a31751c5-f5d2-47ca-be2e-0d7f20f182ef) + +- We don't currently support running multiple instances of the Portainer Server container to manage the same clusters. We recommend running the Portainer Server on a specific management node, with Portainer Agents deployed across the remaining nodes. + +- **Agent vs Edge Agent** + +In standard deployments, the central Portainer Server instance and any environments it manages are assumed to be on the same network, that is, Portainer Server and the Portainer Agents are able to seamlessly communicate with one another. However, in configurations where the remote environments are on a completely separate network to Portainer Server, say, across the internet, historically we would have been unable to centrally manage these devices. + +With the new Edge Agent, we altered the architecture. Rather than the Portainer Server needing seamless access to the remote environment, only the remote environments need to be able to access the Portainer Server. This communication is performed over an encrypted TLS tunnel. This is important in Internet-connected configurations where there is no desire to expose the Portainer Agent to the internet. + +- **Security and compliance** + +Portainer runs exclusively on your servers, within your network, behind your own firewalls. As a result, we do not currently hold any SOC or PCI/DSS compliance because we do not host any of your infrastructure. You can even run Portainer completely disconnected (air-gapped) without any impact on functionality. + +While we do (optionally) collect anonymous usage analytics from Portainer installations, we remain compliant with GDPR. Data collection can be disabled when you install the product, or at any time after that. If your installation is air-gapped, collection will silently fail without any adverse effects. + +## Quick Start +- [Official Website](https://www.portainer.io/) +- [Document](https://docs.portainer.io/) +- [Dockerhub](https://hub.docker.com/r/portainer/portainer-ce/tags) \ No newline at end of file diff --git a/apps/portainer-ce/data.yml b/apps/portainer-ce/data.yml new file mode 100644 index 000000000..6b0c3c41c --- /dev/null +++ b/apps/portainer-ce/data.yml @@ -0,0 +1,20 @@ +name: Portainer-CE +tags: + - 工具 +title: 图形界面容器管理工具 +type: 工具 +description: +additionalProperties: + key: portainer-ce + name: Portainer-CE + tags: + - Tool + shortDescZh: 图形界面容器管理工具 + shortDescEn: GUI container management tools + type: tool + crossVersionUpdate: true + limit: 1 + recommend: 0 + website: https://www.portainer.io/ + github: https://github.com/portainer/portainer + document: https://docs.portainer.io/ \ No newline at end of file diff --git a/apps/portainer-ce/latest/data.yml b/apps/portainer-ce/latest/data.yml new file mode 100644 index 000000000..9195e39d3 --- /dev/null +++ b/apps/portainer-ce/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 9000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: 8000 + envKey: PORT_API + labelEn: Port + labelZh: API 端口 + required: true + rule: paramPort + type: number diff --git a/apps/portainer-ce/latest/docker-compose.yml b/apps/portainer-ce/latest/docker-compose.yml new file mode 100644 index 000000000..d53d9e2f5 --- /dev/null +++ b/apps/portainer-ce/latest/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + portainer-ce: + container_name: ${CONTAINER_NAME} + ports: + - ${PANEL_APP_PORT_HTTP}:9000 + - ${PORT_API}:8000 + restart: always + networks: + - 1panel-network + volumes: + - ./data:/data + - /var/run/docker.sock:/var/run/docker.sock + image: portainer/portainer-ce:latest + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/portainer-ce/logo.png b/apps/portainer-ce/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c96acc5982ea8739449b4c1a17409ce33aa0685 GIT binary patch literal 8609 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 sP550f_iB{xzUTFMj(Zn*aa+ literal 0 HcmV?d00001