playbloom/satisfy

Satis 带有 Web UI 的Composer 仓库管理器

安装: 10,526

依赖: 0

建议者: 0

安全性: 0

星星: 514

关注者: 16

分支: 109

开放问题: 4

类型:项目

3.7.0 2024-03-23 18:11 UTC

README

Satis Composer 仓库管理器 带有简单的 Web UI。

Satis: list composer repositories Satis: add a new composer repository Satis: update an existing composer repository

简介

Satisfy 提供

  • 一个 Web UI:CRUD 管理您的 satis 配置文件
  • 一个简单的安全层,带有登录表单
  • 支持大多数版本控制系统的 webhook 端点
  • Satis 本身

Satisfy 简化您的 Satis 配置管理。它通过 Web UI 在 Satis 上提供简单配置,以避免手动编辑 satis.json 配置文件。所有来自 composer.lock 文件的仓库也可以通过上传导入。

它如何工作?

基本上,它只是读取/写入 satis.json 文件并提供 Web CRUD。

  • 在每次 HTTP 请求中,都会加载 satis.json。
  • 如果此文件发生写入,则会在 var/satis/ 中创建备份。

安装

Composer

  • 克隆项目 git clone https://github.com/project-satisfy/satisfy.git
  • 下载 composer wget https://getcomposer.org.cn/composer.phar
  • 安装 php composer.phar install -n

Satis 配置

  • 要么定义您的 默认/现有 satis 配置
  • 或者使用交互式 satis CLI 工具 ./bin/satis init
  • 或者提交 /admin/configuration 上的表单

默认情况下,期望在项目根目录下有 satis.json 文件,但您可以在 satis_filename 参数下设置另一个路径。

应用配置

  • 根据您的需求自定义 app/config/parameters.yml

安全性

您可以通过将 app/config/parameters.yml 中的 admin.auth 参数设置(在 admin.users 配置数组中)为 true 来限制访问。在 admin.users 配置数组中设置授权用户。

运行 Satisfy

创建一个指向 public 目录的 Web 服务器。浏览到 »/admin/« 来管理 satis.json。要服务 package.json,则需要先运行 Satis。

Satis 包定义生成

由于 Satisfy 仅管理 Satis 配置文件,因此有必要使用 Satis 构建包定义。

在 Satisfy 中已包含指向 Satis 的 bin 快捷方式,因此请运行以下命令以生成 web 文件夹中的文件。

./bin/satis build

使用 WebHooks 自动构建单个包

例如,您可以通过设置 BitBucket webhook 来触发 BitBucket 项目的包生成,每次代码推送时都会连接到 [your-satis-url]/webhook/bitbucket。这比完全构建更高效,避免了您需要频繁地按计划运行完全构建或在管理员界面上登录来强制构建。

预构建 Docker 镜像

您可以使用预构建的 Docker 镜像来运行 satisfy。以下是如何设置的示例。

  1. 创建配置文件目录
  2. 添加 parameters.yml 文件,可以从 config/parameters.yml.dist 复制
  3. 添加 auth.json,包含所有所需的 composer 认证令牌
  4. 添加简单的 satis.json,包含基本信息
  5. 使用以下示例创建 docker-compose.yml
  6. 启动容器 docker-compose up
  7. 访问容器 shell docker-compose exec php bash
  8. 运行初始构建 ./bin/satis build
  9. http://localhost:8000 上打开 satis 页面
version: '3'
services:
  php:
    image: ghcr.io/project-satisfy/satisfy:latest
    ports:
      - "${APP_PORT:-8000}:80"
    volumes:
      - ./satis.json:/var/www/html/satis.json
      - ./parameters.yml:/var/www/html/config/parameters.yml
      - ./auth.json:/var/www/.composer/auth.json:ro
    environment:
      APP_ENV: ${APP_ENV:-dev}
      APP_DEBUG: ${APP_DEBUG:-1}

作者

许可证

Satisfy遵循MIT许可证 - 详细信息请参阅LICENSE文件