diff --git a/apps/docker-registry/metadata/logo.png b/apps/docker-registry/metadata/logo.png new file mode 100644 index 00000000..4fa75b2a Binary files /dev/null and b/apps/docker-registry/metadata/logo.png differ diff --git a/apps/docker-registry/versions/2.8.1/README.md b/apps/docker-registry/versions/2.8.1/README.md new file mode 100644 index 00000000..3af0093e --- /dev/null +++ b/apps/docker-registry/versions/2.8.1/README.md @@ -0,0 +1,73 @@ +# Distribution + +The toolset to pack, ship, store, and deliver content. + +This repository's main product is the Open Source Registry implementation +for storing and distributing container images using the +[OCI Distribution Specification](https://github.com/opencontainers/distribution-spec). +The goal of this project is to provide a simple, secure, and scalable base +for building a large scale registry solution or running a simple private registry. +It is a core library for many registry operators including Docker Hub, GitHub Container Registry, +GitLab Container Registry and DigitalOcean Container Registry, as well as the CNCF Harbor +Project, and VMware Harbor Registry. + + + +[![Build Status](https://github.com/distribution/distribution/workflows/CI/badge.svg?branch=main&event=push)](https://github.com/distribution/distribution/actions?query=workflow%3ACI) +[![GoDoc](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/distribution/distribution) +[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) +[![codecov](https://codecov.io/gh/distribution/distribution/branch/main/graph/badge.svg)](https://codecov.io/gh/distribution/distribution) +[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution?ref=badge_shield) +[![OCI Conformance](https://github.com/distribution/distribution/workflows/conformance/badge.svg)](https://github.com/distribution/distribution/actions?query=workflow%3Aconformance) + +This repository contains the following components: + +|**Component** |Description | +|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **registry** | An implementation of the [OCI Distribution Specification](https://github.com/opencontainers/distribution-spec). | +| **libraries** | A rich set of libraries for interacting with distribution components. Please see [godoc](https://pkg.go.dev/github.com/distribution/distribution) for details. **Note**: The interfaces for these libraries are **unstable**. | +| **documentation** | Docker's full documentation set is available at [docs.docker.com](https://docs.docker.com). This repository [contains the subset](docs/) related just to the registry. | + +### How does this integrate with Docker, containerd, and other OCI client? + +Clients implement against the OCI specification and communicate with the +registry using HTTP. This project contains a client implementation which +is currently in use by Docker, however, it is deprecated for the +[implementation in containerd](https://github.com/containerd/containerd/tree/master/remotes/docker) +and will not support new features. + +### What are the long term goals of the Distribution project? + +The _Distribution_ project has the further long term goal of providing a +secure tool chain for distributing content. The specifications, APIs and tools +should be as useful with Docker as they are without. + +Our goal is to design a professional grade and extensible content distribution +system that allow users to: + +* Enjoy an efficient, secured and reliable way to store, manage, package and + exchange content +* Hack/roll their own on top of healthy open-source components +* Implement their own home made solution through good specs, and solid + extensions mechanism. + +## Contribution + +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute +issues, fixes, and patches to this project. If you are contributing code, see +the instructions for [building a development environment](BUILDING.md). + +## Communication + +For async communication and long running discussions please use issues and pull requests on the github repo. +This will be the best place to discuss design and implementation. + +For sync communication we have a #distribution channel in the [CNCF Slack](https://slack.cncf.io/) +that everyone is welcome to join and chat about development. + +## Licenses + +The distribution codebase is released under the [Apache 2.0 license](LICENSE). +The README.md file, and files in the "docs" folder are licensed under the +Creative Commons Attribution 4.0 International License. You may obtain a +copy of the license, titled CC-BY-4.0, at http://creativecommons.org/licenses/by/4.0/. diff --git a/apps/docker-registry/versions/2.8.1/config.json b/apps/docker-registry/versions/2.8.1/config.json new file mode 100644 index 00000000..6dc00080 --- /dev/null +++ b/apps/docker-registry/versions/2.8.1/config.json @@ -0,0 +1,12 @@ +{ + "formFields": [ + { + "type": "number", + "labelZh": "端口", + "labelEn": "Port", + "required": true, + "default": 5000, + "envKey": "PANEL_APP_PORT_HTTP" + } + ] +} \ No newline at end of file diff --git a/apps/docker-registry/versions/2.8.1/docker-compose.yml b/apps/docker-registry/versions/2.8.1/docker-compose.yml new file mode 100644 index 00000000..33686678 --- /dev/null +++ b/apps/docker-registry/versions/2.8.1/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3' +services: + docker-registry: + image: registry:2.8.1 + restart: always + container_name: ${CONTAINER_NAME} + ports: + - ${PANEL_APP_PORT_HTTP}:5000 + networks: + - 1panel-network + volumes: + - ./data:/var/lib/registry + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/list.json b/apps/list.json index 3238f8a7..57d055a9 100644 --- a/apps/list.json +++ b/apps/list.json @@ -3,11 +3,11 @@ "tags": [ { "key": "WebSite", - "name": "网站" + "name": "建站" }, { "key": "Server", - "name": "服务器" + "name": "Web 服务器" }, { "key": "Database", @@ -222,6 +222,51 @@ "website": "https://www.mongodb.com/", "github": "https://github.com/mongodb/mongo", "document": "https://www.mongodb.com/docs/" + }, + { + "key": "mariadb", + "name": "MariaDB", + "tags": ["Database"], + "versions": ["10.9.5"], + "shortDescZh": "MYSQL 复刻版", + "shortDescEn": "The open source relational database", + "type": "runtime", + "required": [], + "crossVersionUpdate": false, + "limit": 1, + "website": "https://mariadb.org/", + "github": "https://github.com/MariaDB/server/", + "document": "https://mariadb.org/documentation/" + }, + { + "key": "docker-registry", + "name": "Docker Registry", + "tags": ["CI/CD"], + "versions": ["2.8.1"], + "shortDescZh": "Docker 镜像的存储和分发系统", + "shortDescEn": "A storage and distribution system for named Docker images", + "type": "runtime", + "required": [], + "crossVersionUpdate": false, + "limit": 1, + "website": "https://hub.docker.com/_/registry", + "github": "https://github.com/distribution/distribution", + "document": "https://docs.docker.com/registry/" + }, + { + "key": "nexus", + "name": "Nexus Repository", + "tags": ["CI/CD"], + "versions": ["3.47.1"], + "shortDescZh": "开源存储库", + "shortDescEn": "An open source repository for build artifacts", + "type": "runtime", + "required": [], + "crossVersionUpdate": false, + "limit": 1, + "website": "https://www.sonatype.com/products/nexus-repository", + "github": "https://github.com/sonatype/docker-nexus3", + "document": "https://help.sonatype.com/repomanager3" } ] } \ No newline at end of file diff --git a/apps/mariadb/metadata/logo.png b/apps/mariadb/metadata/logo.png new file mode 100644 index 00000000..995c4cdb Binary files /dev/null and b/apps/mariadb/metadata/logo.png differ diff --git a/apps/mariadb/versions/10.9.5/README.md b/apps/mariadb/versions/10.9.5/README.md new file mode 100644 index 00000000..1f073dee --- /dev/null +++ b/apps/mariadb/versions/10.9.5/README.md @@ -0,0 +1,78 @@ +Code status: +------------ + +* [![Appveyor CI status](https://ci.appveyor.com/api/projects/status/4u6pexmtpuf8jq66?svg=true)](https://ci.appveyor.com/project/rasmushoj/server) ci.appveyor.com + +## MariaDB: The open source relational database + +MariaDB was designed as a drop-in replacement of MySQL(R) with more +features, new storage engines, fewer bugs, and better performance. + +MariaDB is brought to you by the MariaDB Foundation and the MariaDB Corporation. +Please read the CREDITS file for details about the MariaDB Foundation, +and who is developing MariaDB. + +MariaDB is developed by many of the original developers of MySQL who +now work for the MariaDB Corporation, the MariaDB Foundation and by +many people in the community. + +MySQL, which is the base of MariaDB, is a product and trademark of Oracle +Corporation, Inc. For a list of developers and other contributors, +see the Credits appendix. You can also run 'SHOW authors' to get a +list of active contributors. + +A description of the MariaDB project and a manual can be found at: + +https://mariadb.org + +https://mariadb.com/kb/en/ + +https://mariadb.com/kb/en/mariadb-vs-mysql-features/ + +https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/ + +https://mariadb.com/kb/en/new-and-old-releases/ + +Help +----- + +More help is available from the Maria Discuss mailing list +https://launchpad.net/~maria-discuss, MariaDB's Zulip +instance, https://mariadb.zulipchat.com/ + +Live QA for beginner contributors +---- +MariaDB has a dedicated time each week when we answer new contributor questions live on Zulip. +From 8:00 to 10:00 UTC on Mondays, and 10:00 to 12:00 UTC on Thursdays, +anyone can ask any questions they’d like, and a live developer will be available to assist. + +New contributors can ask questions any time, but we will provide immediate feedback during that interval. + +Licensing +--------- + +*************************************************************************** + +NOTE: + +MariaDB is specifically available only under version 2 of the GNU +General Public License (GPLv2). (I.e. Without the "any later version" +clause.) This is inherited from MySQL. Please see the README file in +the MySQL distribution for more information. + +License information can be found in the COPYING file. Third party +license information can be found in the THIRDPARTY file. + +*************************************************************************** + +Bug Reports +------------ + +Bug and/or error reports regarding MariaDB should be submitted at: +https://jira.mariadb.org + +For reporting security vulnerabilities see: +https://mariadb.org/about/security-policy/ + +The code for MariaDB, including all revision history, can be found at: +https://github.com/MariaDB/server diff --git a/apps/mariadb/versions/10.9.5/config.json b/apps/mariadb/versions/10.9.5/config.json new file mode 100644 index 00000000..3a420e71 --- /dev/null +++ b/apps/mariadb/versions/10.9.5/config.json @@ -0,0 +1,20 @@ +{ + "formFields": [ + { + "type": "password", + "labelZh": "root用户密码", + "labelEn": "Root Password", + "required": true, + "default": "random", + "envKey": "PANEL_DB_ROOT_PASSWORD" + }, + { + "type": "number", + "labelZh": "端口", + "labelEn": "Port", + "required": true, + "default": 3306, + "envKey": "PANEL_APP_PORT_HTTP" + } + ] +} \ No newline at end of file diff --git a/apps/mariadb/versions/10.9.5/docker-compose.yml b/apps/mariadb/versions/10.9.5/docker-compose.yml new file mode 100644 index 00000000..943a6785 --- /dev/null +++ b/apps/mariadb/versions/10.9.5/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' +services: + mariadb: + container_name: ${CONTAINER_NAME} + networks: + - 1panel-network + image: "mariadb:10.9.5" + ports: + - ${PANEL_APP_PORT_HTTP}:3306 + volumes: + - ./db/data:/var/lib/mysql + environment: + MYSQL_ROOT_PASSWORD: ${PANEL_DB_ROOT_PASSWORD} + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/nexus/metadata/logo.png b/apps/nexus/metadata/logo.png new file mode 100644 index 00000000..a5ec578d Binary files /dev/null and b/apps/nexus/metadata/logo.png differ diff --git a/apps/nexus/versions/3.47.1/README.md b/apps/nexus/versions/3.47.1/README.md new file mode 100644 index 00000000..7c223d54 --- /dev/null +++ b/apps/nexus/versions/3.47.1/README.md @@ -0,0 +1,184 @@ + + +# Sonatype Nexus3 Docker: sonatype/nexus3 + +[![Join the chat at https://gitter.im/sonatype/nexus-developers](https://badges.gitter.im/sonatype/nexus-developers.svg)](https://gitter.im/sonatype/nexus-developers?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +A Dockerfile for Sonatype Nexus Repository Manager 3, starting with 3.18 the image is based on the [Red Hat Universal Base Image](https://www.redhat.com/en/blog/introducing-red-hat-universal-base-image) while earlier versions used CentOS. + +* [Contribution Guidlines](#contribution-guidelines) +* [Running](#running) +* [Building the Nexus Repository Manager image](#building-the-nexus-repository-manager-image) +* [Chef Solo for Runtime and Application](#chef-solo-for-runtime-and-application) +* [Testing the Dockerfile](#testing-the-dockerfile) +* [Red Hat Certified Image](#red-hat-certified-image) +* [Notes](#notes) + * [Persistent Data](#persistent-data) +* [Getting Help](#getting-help) + +## Contribution Guidelines + +Go read [our contribution guidelines](https://github.com/sonatype/docker-nexus3/blob/main/.github/CONTRIBUTING.md) to get a bit more familiar with how +we would like things to flow. + +## Running + +To run, binding the exposed port 8081 to the host, use: + +``` +$ docker run -d -p 8081:8081 --name nexus sonatype/nexus3 +``` + +When stopping, be sure to allow sufficient time for the databases to fully shut down. + +``` +docker stop --time=120 +``` + + +To test: + +``` +$ curl http://localhost:8081/ +``` + +## Building the Nexus Repository Manager image + +To build a docker image from the [Dockerfile](https://github.com/sonatype/docker-nexus3/blob/main/Dockerfile) you can use this command: + +``` +$ docker build --rm=true --tag=sonatype/nexus3 . +``` + +The following optional variables can be used when building the image: + +- NEXUS_VERSION: Version of the Nexus Repository Manager +- NEXUS_DOWNLOAD_URL: Download URL for Nexus Repository, alternative to using `NEXUS_VERSION` to download from Sonatype +- NEXUS_DOWNLOAD_SHA256_HASH: Sha256 checksum for the downloaded Nexus Repository Manager archive. Required if `NEXUS_VERSION` + or `NEXUS_DOWNLOAD_URL` is provided + +## Chef Solo for Runtime and Application + +Chef Solo is used to build out the runtime and application layers of the Docker image. The Chef cookbook being used is available +on GitHub at [sonatype/chef-nexus-repository-manager](https://github.com/sonatype/chef-nexus-repository-manager). + +## Testing the Dockerfile + +We are using `rspec` as the test framework. `serverspec` provides a docker backend (see the method `set` in the test code) +to run the tests inside the docker container, and abstracts away the difference between distributions in the tests +(e.g. yum, apt,...). + + rspec [--backtrace] spec/Dockerfile_spec.rb + +## Red Hat Certified Image + +A Red Hat certified container image can be created using [Dockerfile.rh.ubi](https://github.com/sonatype/docker-nexus3/blob/main/Dockerfile.rh.ubi) which is built to be compliant with Red Hat certification. +The image includes additional meta data to comform with Kubernetes and OpenShift standards, a directory with the +licenses applicable to the software and a man file for help on how to use the software. It also uses an ENTRYPOINT +script the ensure the running user has access to the appropriate permissions for OpenShift 'restricted' SCC. + +The Red Hat certified container image is available from the +[Red Hat Container Catalog](https://access.redhat.com/containers/#/registry.connect.redhat.com/sonatype/nexus-repository-manager) +and qualified accounts can pull it from registry.connect.redhat.com. + +## Other Red Hat Images + +In addition to the Universal Base Image, we can build images based on: +* Red Hat Enterprise Linux: [Dockerfile.rh.el](https://github.com/sonatype/docker-nexus3/blob/main/Dockerfile.rh.el) +* CentOS: [Dockerfile.rh.centos](https://github.com/sonatype/docker-nexus3/blob/main/Dockerfile.rh.centos) + +## Notes + +* Our [system requirements](https://help.sonatype.com/display/NXRM3/System+Requirements) should be taken into account when provisioning the Docker container. +* Default user is `admin` and the uniquely generated password can be found in the `admin.password` file inside the volume. See [Persistent Data](#user-content-persistent-data) for information about the volume. + +* It can take some time (2-3 minutes) for the service to launch in a + new container. You can tail the log to determine once Nexus is ready: + +``` +$ docker logs -f nexus +``` + +* Installation of Nexus is to `/opt/sonatype/nexus`. + +* A persistent directory, `/nexus-data`, is used for configuration, + logs, and storage. This directory needs to be writable by the Nexus + process, which runs as UID 200. + +* There is an environment variable that is being used to pass JVM arguments to the startup script + + * `INSTALL4J_ADD_VM_PARAMS`, passed to the Install4J startup script. Defaults to `-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=${NEXUS_DATA}/javaprefs`. + + This can be adjusted at runtime: + + ``` + $ docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/some-other-dir" sonatype/nexus3 + ``` + + Of particular note, `-Djava.util.prefs.userRoot=/some-other-dir` can be set to a persistent path, which will maintain + the installed Nexus Repository License if the container is restarted. + + Be sure to check the [memory requirements](https://help.sonatype.com/display/NXRM3/System+Requirements#SystemRequirements-MemoryRequirements) when deciding how much heap and direct memory to allocate. + +* Another environment variable can be used to control the Nexus Context Path + + * `NEXUS_CONTEXT`, defaults to / + + This can be supplied at runtime: + + ``` + $ docker run -d -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus sonatype/nexus3 + ``` + +### Persistent Data + +There are two general approaches to handling persistent storage requirements +with Docker. See [Managing Data in Containers](https://docs.docker.com/engine/tutorials/dockervolumes/) +for additional information. + +1. *Use a docker volume*. Since docker volumes are persistent, a volume can be created specifically for + this purpose. This is the recommended approach. + + ``` + $ docker volume create --name nexus-data + $ docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3 + ``` + +2. *Mount a host directory as the volume*. This is not portable, as it + relies on the directory existing with correct permissions on the host. + However it can be useful in certain situations where this volume needs + to be assigned to certain specific underlying storage. + + ``` + $ mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data + $ docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3 + ``` + +## Getting Help + +Looking to contribute to our Docker image but need some help? There's a few ways to get information or our attention: + +* Chat with us on [Gitter](https://gitter.im/sonatype/nexus-developers) +* File an issue [on our public JIRA](https://issues.sonatype.org/projects/NEXUS/) +* Check out the [Nexus3](http://stackoverflow.com/questions/tagged/nexus3) tag on Stack Overflow +* Check out the [Nexus Repository User List](https://groups.google.com/a/glists.sonatype.com/forum/?hl=en#!forum/nexus-users) + +## License Disclaimer + +_Nexus Repository OSS is distributed with Sencha Ext JS pursuant to a FLOSS Exception agreed upon between Sonatype, Inc. and Sencha Inc. Sencha Ext JS is licensed under GPL v3 and cannot be redistributed as part of a closed source work._ diff --git a/apps/nexus/versions/3.47.1/config.json b/apps/nexus/versions/3.47.1/config.json new file mode 100644 index 00000000..f427c7f7 --- /dev/null +++ b/apps/nexus/versions/3.47.1/config.json @@ -0,0 +1,12 @@ +{ + "formFields": [ + { + "type": "number", + "labelZh": "端口", + "labelEn": "Port", + "required": true, + "default": 8081, + "envKey": "PANEL_APP_PORT_HTTP" + } + ] +} \ No newline at end of file diff --git a/apps/nexus/versions/3.47.1/docker-compose.yml b/apps/nexus/versions/3.47.1/docker-compose.yml new file mode 100644 index 00000000..1fb40350 --- /dev/null +++ b/apps/nexus/versions/3.47.1/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + nexus: + image: sonatype/nexus3:3.47.1 + restart: always + container_name: ${CONTAINER_NAME} + environment: + - TZ=Asia/Shanghai + ports: + - ${PANEL_APP_PORT_HTTP}:8081 + volumes: + - ./data/nexus:/nexus-data + networks: + - 1panel-network + +networks: + 1panel-network: + external: true \ No newline at end of file