playbloom / satisfy
Satis 带有 Web UI 的Composer 仓库管理器
Requires
- php: ^8.1,<8.3
- ext-json: *
- ext-xml: *
- composer/composer: ^2.4
- composer/satis: dev-main
- doctrine/annotations: ~1.6
- doctrine/instantiator: ~1.1
- incenteev/composer-parameter-handler: ^2.1
- laminas/laminas-diactoros: ^2.3
- ninsuo/symfony-collection: ^2.1
- ramunasd/symfony-container-mocks: ^0.6.0
- swop/github-webhook: ^3.1
- symfony/asset: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/dotenv: ^6.4
- symfony/event-dispatcher: ^5.4
- symfony/form: ^5.4
- symfony/framework-bundle: ^5.4
- symfony/lock: ^5.4
- symfony/monolog-bundle: ^3.8
- symfony/property-info: ^5.0
- symfony/proxy-manager-bridge: ^6.0
- symfony/psr-http-message-bridge: ^2.0
- symfony/security-bundle: ^5.4
- symfony/serializer: ^5.4
- symfony/twig-bundle: ^5.4
- symfony/validator: ^5.4
- symfony/yaml: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- mikey179/vfsstream: ^1.6
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpstan/phpstan-symfony: ^1.0
- phpunit/phpunit: ^10.5
- symfony/browser-kit: ^5.4
This package is auto-updated.
Last update: 2024-09-24 14:52:06 UTC
README
Satis Composer 仓库管理器 带有简单的 Web UI。
简介
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。以下是如何设置的示例。
- 创建配置文件目录
- 添加 parameters.yml 文件,可以从 config/parameters.yml.dist 复制
- 添加 auth.json,包含所有所需的 composer 认证令牌
- 添加简单的 satis.json,包含基本信息
- 使用以下示例创建 docker-compose.yml
- 启动容器
docker-compose up
- 访问容器 shell
docker-compose exec php bash
- 运行初始构建
./bin/satis build
- 在
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}
作者
- Ludovic Fleury - ludo.fleury@gmail.com - http://twitter.com/ludofleury
- Julius Beckmann - satisfy@h4cc.de - https://twitter.com/h4cc
- Ramūnas Dronga - satisfy@ramuno.lt
许可证
Satisfy遵循MIT许可证 - 详细信息请参阅LICENSE文件