Packistry — це самохостингова репозиторія Composer, яка спрощує розповсюдження PHP-пакетів:
Packistry дозволяє управляти розповсюдженням ваших PHP-пакетів, підтримуючи імпорт з різних джерел, таких як GitHub, GitLab та Gitea, з автоматичними оновленнями за допомогою вебхуків. Ви зможете легко налаштувати свою власну репозиторію Composer всього за кілька команд, отримуючи повний контроль над вашими пакетами, управлінням доступом та безпекою.
Хоча більшість пакетів для додатків доступні через Packagist.org, користувачі, які пропонують преміум-пакети або хостять приватні внутрішні рішення, можуть скористатися Packistry для управління своїми пакетами. Packistry може хостити відкриті репозиторії та підтримує вебхуки для отримання останніх змін з ваших джерел.
# Основні можливості
- Підтримка приватних репозиторіїв: Захистіть чутливі або власні пакети, хостуючи їх у приватних репозиторіях.
- Токенна автентифікація: Забезпечте безпечний доступ до своїх репозиторіїв за допомогою токенів. Це дозволяє управляти правами доступу як для користувачів, так і для автоматизованих систем, надаючи точний контроль над тим, хто може переглядати або змінювати ваші репозиторії.
- Інтеграція джерел пакетів: Легко керуйте та імпортуйте пакети Composer з GitHub, GitLab і Gitea.
- Вебхуки: Packistry використовує вебхуки для автоматичного отримання останніх змін з ваших джерел.
- Публічні/приватні репозиторії: Визначайте репозиторії як публічні чи приватні залежно від потреб вашого проєкту.
- Контроль доступу для користувачів: Створюйте облікові записи користувачів для призначення та управління доступом до приватних репозиторіїв, гарантуючи, що лише уповноважені особи можуть працювати з чутливим вмістом.
- Контроль доступу для машин: Генеруйте токени для доступу, щоб дозволити машинам (наприклад, системам збірки чи CI/CD) отримувати доступ до приватних репозиторіїв, забезпечуючи безперебійну та безпечну автоматизацію.
# Розробка на Laravel
Packistry розроблений на базі Laravel і доступний як відкритий код на GitHub за посиланням packistry/packistry. Він використовує Laravel 11 з RoadRunner, а також спільні пакети, такі як PestPHP, Spatie Laravel Data, Spatie Query Builder тощо. На фронтенді Packistry застосовує React, TypeScript, Tailwind та Vite.
# Як почати
Якщо ви хочете випробувати Packistry, ознайомтеся з документацією Packistry, щоб розпочати роботу. Вихідний код — чудове місце для натхнення з безліччю тестів PestPHP, коду Laravel та фронтенду на React.