diff --git a/apps/forgejo/14.0.1/data.yml b/apps/forgejo/14.0.1/data.yml new file mode 100644 index 000000000000..799cee17388f --- /dev/null +++ b/apps/forgejo/14.0.1/data.yml @@ -0,0 +1,137 @@ +additionalProperties: + formFields: + - default: 3000 + envKey: PANEL_APP_PORT_HTTP + labelZh: HTTP 端口 + labelEn: HTTP Port + label: + zh: HTTP 端口 + zh-Hant: HTTP 埠 + en: HTTP Port + ja: HTTP ポート + ko: HTTP 포트 + ms: HTTP Port + pt-br: HTTP Porta + ru: HTTP Порт + required: true + type: number + edit: true + rule: paramPort + - default: 222 + envKey: PANEL_APP_PORT_SSH + labelZh: SSH 端口 + labelEn: SSH Port + label: + zh: SSH 端口 + zh-Hant: SSH 埠 + en: SSH Port + ja: SSH ポート + ko: SSH 포트 + ms: SSH Port + pt-br: SSH Porta + ru: SSH Порт + required: true + type: number + edit: true + rule: paramPort + - default: "false" + envKey: ROOTLESS + labelZh: 无根模式 + labelEn: Rootless Mode + label: + zh: 无根模式 + zh-Hant: 無根模式 + en: Rootless Mode + ja: Rootlessモード + ko: 루트리스 모ード + ms: Mod Tanpa Keistimewaan + pt-br: Modo Sem Privilégios + ru: Беспривилегированный режим + tr: Ayrıcalıksız Mod + required: false + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + - default: mysql + envKey: PANEL_DB_TYPE + labelZh: 数据库 + labelEn: Database + label: + en: Database + ja: データベース + ko: 데이터베이스 + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + tr: Veritabanı + zh: 数据库 + zh-Hant: 資料庫 + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: PostgreSQL + value: postgres + child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + - default: forgejo + envKey: PANEL_DB_NAME + labelZh: 数据库名 + labelEn: Database Name + label: + en: Database Name + ja: データベース名 + ko: 데이터베이스 이름 + ms: Nama Pangkalan Data + pt-br: Nome do Banco de Dados + ru: Имя базы данных + tr: Veritabanı Adı + zh: 数据库名 + zh-Hant: 資料庫名稱 + required: true + type: text + rule: paramCommon + random: true + - default: forgejo_user + envKey: PANEL_DB_USER + labelZh: 数据库用户名 + labelEn: Database Username + label: + en: Database Username + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ms: Nama Pengguna Pangkalan Data + pt-br: Nome de Usuário do Banco de Dados + ru: Имя пользователя базы данных + tr: Veritabanı Kullanıcı Adı + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + required: true + type: text + rule: paramCommon + random: true + - default: forgejo_pass + envKey: PANEL_DB_USER_PASSWORD + labelZh: 数据库密码 + labelEn: Database Password + label: + en: Database Password + ja: データベースパスワード + ko: 데이터베이스 비밀번호 + ms: Kata Laluan Pangkalan Data + pt-br: Senha do Banco de Dados + ru: Пароль базы данных + tr: Veritabanı Parolası + zh: 数据库密码 + zh-Hant: 資料庫密碼 + required: true + type: password + rule: paramComplexity + random: true diff --git a/apps/forgejo/14.0.1/docker-compose.yml b/apps/forgejo/14.0.1/docker-compose.yml new file mode 100644 index 000000000000..f5036a482ba5 --- /dev/null +++ b/apps/forgejo/14.0.1/docker-compose.yml @@ -0,0 +1,28 @@ +services: + forgejo: + image: ${IMAGE} + container_name: ${CONTAINER_NAME} + environment: + - USER_UID=1000 + - USER_GID=1000 + - FORGEJO__database__DB_TYPE=${PANEL_DB_TYPE} + - FORGEJO__database__HOST=${PANEL_DB_HOST}:${PANEL_DB_PORT} + - FORGEJO__database__NAME=${PANEL_DB_NAME} + - FORGEJO__database__USER=${PANEL_DB_USER} + - FORGEJO__database__PASSWD=${PANEL_DB_USER_PASSWORD} + restart: always + networks: + - 1panel-network + volumes: + - ./data:/data + - ./data-rootless/forgejo:/var/lib/gitea + - ./data-rootless/conf:/etc/gitea + - /etc/localtime:/etc/localtime:ro + ports: + - ${PANEL_APP_PORT_HTTP}:3000 + - ${PANEL_APP_PORT_SSH}:22 + labels: + createdBy: Apps +networks: + 1panel-network: + external: true diff --git a/apps/forgejo/14.0.1/scripts/init.sh b/apps/forgejo/14.0.1/scripts/init.sh new file mode 100644 index 000000000000..09d599f1c1bc --- /dev/null +++ b/apps/forgejo/14.0.1/scripts/init.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +[ -f ./.env ] && source ./.env + +# renovate: datasource=docker depName=forgejo/forgejo +IMAGE=codeberg.org/forgejo/forgejo:14.0.1 + +if [ "${ROOTLESS}" = "true" ]; then + IMAGE="${IMAGE}-rootless" + mkdir -p ./data-rootless/forgejo ./data-rootless/conf + chown -R 1000:1000 ./data-rootless/forgejo ./data-rootless/conf +fi +echo "IMAGE=${IMAGE}" >> .env \ No newline at end of file diff --git a/apps/forgejo/14.0.1/scripts/upgrade.sh b/apps/forgejo/14.0.1/scripts/upgrade.sh new file mode 100644 index 000000000000..62a799a256e6 --- /dev/null +++ b/apps/forgejo/14.0.1/scripts/upgrade.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +if [ -f ./scripts/init.sh ]; then + bash ./scripts/init.sh +fi diff --git a/apps/forgejo/README.md b/apps/forgejo/README.md new file mode 100644 index 000000000000..25115fea881e --- /dev/null +++ b/apps/forgejo/README.md @@ -0,0 +1,11 @@ +## 产品介绍 + +Forgejo 是一个轻量级、隐私优先的自托管 Git 服务平台,由独立社区驱动。项目于 2022 年从 Gitea 分叉而来,旨在提供一个永远独立、自由的软件协作平台,避免大型平台的垄断。Forgejo 提供直观的界面、易于部署的特性,并包含丰富的内置功能,适合个人、团队、公司或社区进行代码托管、项目管理和协作开发。其核心价值在于强调隐私、社区所有权和可定制性,目标用户包括需要自托管 Git 服务的开发者、开源项目维护者以及注重数据控制权的组织。 + +## 主要功能 + +- **完整的 Git 托管**:提供完整的 Git 仓库托管功能,支持分支、标签、代码浏览和历史管理等基本操作,可在树莓派等低资源设备上轻松运行。 +- **项目管理与协作**:内置问题追踪、拉取请求、Wiki 文档、看板 (Kanban) 等协作工具,帮助团队高效协调开发进度和沟通。 +- **软件发布与包管理**:通过“发布”功能托管软件下载,并提供包注册表 (Package Registry) 支持 Docker、npm 等多种包管理器的软件发布与分发。 +- **高级功能**:提供丰富的配置选项和主题定制,支持组织与团队权限、CI/CD 集成、代码搜索、LDAP、OAuth 等企业级需求。 +- **去中心化互联(开发中)**:正在开发基于 ActivityPub 的去中心化互联功能,以实现不同 Forgejo 实例之间的互联与协作。 diff --git a/apps/forgejo/README_en.md b/apps/forgejo/README_en.md new file mode 100644 index 000000000000..989a33555127 --- /dev/null +++ b/apps/forgejo/README_en.md @@ -0,0 +1,11 @@ +## Introduction + +Forgejo is a lightweight, privacy-first self-hosted Git service platform driven by an independent community. The project forked from Gitea in 2022, aiming to provide a forever independent and free software collaboration platform, avoiding the monopoly of large platforms. Forgejo offers an intuitive interface, easy deployment, and includes rich built-in features, making it suitable for individuals, teams, companies, or communities for code hosting, project management, and collaborative development. Its core values emphasize privacy, community ownership, and customizability, targeting developers who need self-hosted Git services, open-source project maintainers, and organizations that prioritize data control. + +## Features + +- **Complete Git Hosting**: Provides full Git repository hosting functionality, supporting basic operations such as branches, tags, code browsing, and history management. It can run easily on low-resource devices like Raspberry Pi. +- **Project Management and Collaboration**: Includes built-in collaboration tools like issue tracking, pull requests, Wiki documentation, and Kanban boards to help teams efficiently coordinate development progress and communication. +- **Software Release and Package Management**: Hosts software downloads through the "Releases" feature and provides a Package Registry that supports software release and distribution for various package managers such as Docker and npm. +- **Advanced Features**: Offers extensive configuration options and theme customization, supporting enterprise-level needs such as organization and team permissions, CI/CD integration, code search, LDAP, OAuth, and more. +- **Decentralized Interconnection (in development)**: Currently developing ActivityPub-based decentralized interconnection functionality to enable connectivity and collaboration between different Forgejo instances. diff --git a/apps/forgejo/data.yml b/apps/forgejo/data.yml new file mode 100644 index 000000000000..f3fc09a4fff3 --- /dev/null +++ b/apps/forgejo/data.yml @@ -0,0 +1,31 @@ +name: Forgejo +tags: + - DevOps +title: 下一代代码托管平台 +description: 下一代代码托管平台 +additionalProperties: + key: forgejo + name: Forgejo + tags: + - DevOps + shortDescZh: 下一代代码托管平台 + shortDescEn: The next generation of code hosting platform + description: + en: The next generation of code hosting platform + zh: 下一代代码托管平台 + zh-Hant: 下一代代碼託管平台 + ja: 次世代のコードホスティングプラットフォーム + ms: Platform hosting kod generasi seterusnya + pt-br: A próxima geração de plataforma de hospedagem de código + ru: Платформа хостинга кода следующего поколения + ko: 다음 세대 코드 호스팅 플랫폼 + type: website + crossVersionUpdate: true + limit: 0 + website: https://forgejo.org + github: https://codeberg.org/forgejo/forgejo + document: https://forgejo.org/docs + architectures: + - amd64 + - arm64 + - arm/v6 diff --git a/apps/forgejo/logo.png b/apps/forgejo/logo.png new file mode 100644 index 000000000000..d23209e26565 Binary files /dev/null and b/apps/forgejo/logo.png differ