Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

package-pipeline

Self-hosted private Composer registry for PHP projects using Filament admin panel.

Ficha actualizada 23 sept 2026, 1:57 · upstream 23 sept 2026, 1:42 · release 2.6.1

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es package-pipeline

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Package Pipeline is a self-hosted private Composer registry that replaces the need to maintain multiple repositories per project. It provides a single repository URL for all your private packages, eliminating the chore of managing separate composer.json entries and credentials across consuming applications.

The solution uses PHP 8.4+ with Filament admin panel as its core interface, orchestrated by Laravel's queue system for background sync jobs. Packages are synced from GitHub or GitLab repositories via a source configuration, storing versions in PostgreSQL (or MySQL/SQLite) with checksums and zipball dists served entirely from the app's own storage.

Key architectural decisions include: - A monorepo structure where each package is registered as a separate repository under its namespace - Source-based authentication that supports GitHub App installations or GitLab access tokens - An audit log for all registry changes, with policies restricting who can modify entries - Automatic role inheritance via Filament Shield and spatie/laravel-permission - A deploy script (composer run setup) that installs dependencies, builds the admin stylesheet, creates .env files, generates app keys, runs migrations, and seeds permissions

CASOS DE USO
  • Sharing private PHP packages across multiple projects without maintaining per-project composer.json entries
  • Centralizing package management for teams or organizations with shared infrastructure
  • Eliminating the need to manage separate Composer repositories for each consuming application
  • Providing a single source of truth for package metadata, versions, and release history
  • Enabling automated sync from GitHub/GitLab without manual repository configuration per project
PUNTOS DESTACADOS
  • Supports PHP 8.4+ with Filament admin panel as the primary interface
  • Uses Laravel queue system for background package syncing, keeping the CLI responsive
  • Source-based authentication via GitHub App or GitLab tokens with configurable expiration
  • Stores package zipballs and checksums locally on disk (or S3) rather than relying on Composer's remote dist downloads
  • Audit log records all registry changes including deletions, enabling full traceability of package modifications
PRECAUCIONES
  • Requires PHP 8.4+ with Composer installed on the server
  • Node.js 22+ is required for compiling frontend assets and admin panel stylesheets
  • SQLite is the default database; MySQL or PostgreSQL are supported alternatives but require configuration
  • GitHub App installation requires a one-time setup (~5 minutes) per deployment, which can be time-consuming in CI/CD pipelines
  • GitLab packages use project-level hooks rather than an account-wide webhook system, requiring manual hook creation for each package
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Run `composer run setup` to install dependencies, build the admin stylesheet, create .env files, generate app keys, and seed permissions,Start with `php artisan serve --host=0.0.0.0 --port=8000` for development; use a production server (e.g., Nginx + PHP-FPM) in production,Configure your Composer repositories by pasting the registry URL into each project's composer.json under 'repositories' → 'packages',For GitHub sources, create a fine-grained personal access token with read-only contents and metadata scopes; store it securely in .env or environment variables,The admin panel is built on Filament PHP framework — ensure the latest version is installed via `composer require filament/filament:latest`,Monitor queue workers to prevent sync jobs from blocking package installation during deployment,Consider using a dedicated server for the registry rather than hosting it alongside your applicat

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsLaravelPHPPython
SERVICIOS
PostgreSQLMySQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLMySQLRedis
PUERTOS
8000
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.