All Projects → repman-io → Repman

repman-io / Repman

Licence: mit
Repman - PHP Repository Manager: packagist proxy and host for private packages

Projects that are alternatives of or similar to Repman

Asset Packagist
Asset Packagist
Stars: ✭ 235 (-15.16%)
Mutual labels:  hacktoberfest, composer, packagist
Satis
Simple static Composer repository generator - For a full private Composer repo use Private Packagist
Stars: ✭ 2,722 (+882.67%)
Mutual labels:  hacktoberfest, composer, packagist
generator-composer
🐘 Yeoman (http://yeoman.io) generator for a PHP Composer project
Stars: ✭ 16 (-94.22%)
Mutual labels:  packagist, composer
packagist
🐳 Dockette out-of-box Packagist (Nginx / Solr 6 / PHP 7.1+FPM)
Stars: ✭ 32 (-88.45%)
Mutual labels:  packagist, composer
ip
Immutable value object for IPv4 and IPv6 addresses, including helper methods and Doctrine support.
Stars: ✭ 212 (-23.47%)
Mutual labels:  packagist, composer
Nebula
Nebula is a minimalistic and easy to use administration tool for Laravel applications, made with Laravel, Alpine.js, and Tailwind CSS.
Stars: ✭ 190 (-31.41%)
Mutual labels:  hacktoberfest, composer
Laravel Messenger
Simple user messaging package for Laravel
Stars: ✭ 2,140 (+672.56%)
Mutual labels:  hacktoberfest, composer
private-packagist-api-client
Private Packagist API Client
Stars: ✭ 28 (-89.89%)
Mutual labels:  packagist, composer
Dependency spy
Find known vulnerabilities in your dependencies
Stars: ✭ 87 (-68.59%)
Mutual labels:  hacktoberfest, composer
alfred-packagist
Alfred workflow to search for PHP packages with Packagist
Stars: ✭ 21 (-92.42%)
Mutual labels:  packagist, composer
composer-velocita
Velocita - Composer plugin for transparent caching
Stars: ✭ 26 (-90.61%)
Mutual labels:  packagist, composer
crook
Simple hook management tool made with PHP
Stars: ✭ 60 (-78.34%)
Mutual labels:  packagist, composer
Wpstarter
Easily bootstrap whole site Composer packages for WordPress.
Stars: ✭ 182 (-34.3%)
Mutual labels:  hacktoberfest, composer
Docker
Composer in Docker
Stars: ✭ 180 (-35.02%)
Mutual labels:  hacktoberfest, composer
client-php
Official NFe.io API Client for PHP
Stars: ✭ 36 (-87%)
Mutual labels:  packagist, composer
composer-localdev-plugin
Composer Plugin for local development
Stars: ✭ 31 (-88.81%)
Mutual labels:  packagist, composer
Private Composer Installer
Composer install helper outsourcing sensitive keys from the package URL into environment variables
Stars: ✭ 168 (-39.35%)
Mutual labels:  composer, packagist
Unused Scanner
Detect unused composer dependencies
Stars: ✭ 363 (+31.05%)
Mutual labels:  hacktoberfest, composer
composer-diff
Compares composer.lock changes and generates Markdown report so you can use it in PR description.
Stars: ✭ 51 (-81.59%)
Mutual labels:  packagist, composer
The-PHP-Workshop
A New, Interactive Approach to Learning PHP
Stars: ✭ 30 (-89.17%)
Mutual labels:  packagist, composer

Repman - PHP Repository Manager

Minimum PHP Version Uptime Robot ratio (24h) buddy pipeline codecov Hits-of-Code Maintainability Docker Pulls License

Repman is a PHP repository manager. Main features:

  • free and open source
  • works as a proxy for packagist.org (speeds up your local builds)
  • hosts your private packages
  • allows to create individual access tokens
  • supports private package import from GitHub, GitLab and Bitbucket with one click
  • REST API
  • security scanner (with e-mail reports)

Documentation: https://repman.io/docs/

Requirements

  • PHP >= 7.4
  • PostgreSQL 11
  • var dir must be writeable
  • any web server

Installation

Docker

https://repman.io/docs/standalone/#docker-installation

Ansible

https://repman.io/docs/standalone/#ansible-playbooks-installation

Manual

git clone [email protected]:repman-io/repman.git
cd repman
composer install

Setup database:

bin/console doctrine:migrations:migrate #for postgres
bin/console doctrine:schema:create #for sqlite init as migrations are only postgres-compatible
bin/console messenger:setup-transports

Configuration

Mailer

To configure mailer transport, enter connection details in the MAILER_DSN environment variable

MAILER_DSN=smtp://user:[email protected]

Read more: transport setup

In addition, setup also MAILER_SENDER environment variable

[email protected]

Workers

To process messages asynchronously you must run worker:

bin/console messenger:consume async

Read more: deploying to production

Usage

Navigate your browser to instance address, you will see home page with usage instructions.

Local proxy

On dev env you may want to enable proxy to allow to create subdomains and tests composer organizations:

composer proxy-setup

This will create repman.wip domain. Then you can add other domains with:

symfony proxy:domain:attach your-organization.repman

CLI commands

  • bin/console repman:metadata:clear-cache - clear packages metadata cache (json files)
  • bin/console repman:create:admin <email> [<password>] - create a new user with admin privileges
  • bin/console repman:create:user <email> [<password>] - create a new (normal) user
  • bin/console repman:proxy:sync-releases - sync proxy releases with packagist.org
  • bin/console repman:security:scan-all - scan all synchronized packages
  • bin/console repman:security:update-db - update security advisories database, scan all packages if updated
  • bin/console repman📦synchronize <packageId> - synchronize given package
  • bin/console repman📦clear-old-dists - clear old private dev distributions files

API Integration

Callbacks:

  • /auth/{provider}/check
  • /register/{provider}/check
  • /user/token/{provider}/check

GitHub

Scopes:

  • registration: user:email
  • repositories: read:org, repo

GitLab

Scopes:

  • registration: read_user
  • repositories: api

Bitbucket

Scopes:

  • registration: email
  • repositories: repository, webhook

Self-hosted GitLab

To integrate with self-hosted GitLab, enter the instance url in the APP_GITLAB_API_URL environment variable

APP_GITLAB_API_URL='https://gitlab.organization.lan'

Docker

  • Override with docker-compose.override.yml if needed.
  • Set your domain (APP_HOST) in .env.docker.

If you wish to use your own certificate put key and certificate in:

  • docker/nginx/ssl/private/server.key
  • docker/nginx/ssl/certs/server.crt

Otherwise self-sign certificate will be generated.

To start all containers run:

docker-compose up

Support

In case of any problems, you can use:

License

The Repman project is licensed under the terms of the MIT.

However, Repman includes several third-party Open-Source libraries, which are licensed under their own respective Open-Source licenses.

Libraries or projects directly included in Repman

  • Tabler: MIT
  • Feather: MIT
  • Lucide: License: ISC
  • Postmark Transactional Email Templates: MIT
  • Libraries dynamically referenced via Composer: run composer license to get the latest licensing info about all dependencies.

made with ❤️ by Buddy

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].