Stars: 479
Forks: 96
Pull Requests: 456
Issues: 204
Watchers: 12
Last Updated: 2023-09-08 17:12:48
Repman - PHP Repository Manager: packagist proxy and host for private packages
License: MIT License
Languages: PHP, Dockerfile, Shell, JavaScript, Twig, Jinja
Repman is a PHP repository manager. Main features:
Documentation: https://repman.io/docs/
var dir must be writeablehttps://repman.io/docs/standalone/#docker-installation
https://repman.io/docs/standalone/#ansible-playbooks-installation
git clone [email protected]:repman-io/repman.git
cd repman
composer installSetup 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
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
To process messages asynchronously you must run worker:
bin/console messenger:consume asyncRead more: deploying to production
Navigate your browser to instance address, you will see home page with usage instructions.
On dev env you may want to enable proxy to allow to create subdomains and tests composer organizations:
composer proxy-setupThis will create repman.wip domain. Then you can add other domains with:
symfony proxy:domain:attach your-organization.repmanbin/console repman:metadata:clear-cache - clear packages metadata cache (json files)bin/console repman:create:admin <email> [<password>] - create a new user with admin privilegesbin/console repman:create:user <email> [<password>] - create a new (normal) userbin/console repman:proxy:sync-releases - sync proxy releases with packagist.orgbin/console repman:security:scan-all - scan all synchronized packagesbin/console repman:security:update-db - update security advisories database, scan all packages if updatedbin/console repman:package:synchronize <packageId> - synchronize given packagebin/console repman:package:clear-old-dists - clear old private dev distributions filesCallbacks:
/auth/{provider}/check/register/{provider}/check/user/token/{provider}/checkScopes:
user:emailread:org, repoScopes:
read_userapiScopes:
emailrepository, webhookTo 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-compose.override.yml if needed.APP_HOST) in .env.docker.If you wish to use your own certificate put key and certificate in:
docker/nginx/ssl/private/server.keydocker/nginx/ssl/certs/server.crtOtherwise self-sign certificate will be generated.
To start all containers run:
docker-compose upIn case of any problems, you can use:
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.
composer license to get the latest licensing info about all dependencies.made with ❤️ by Buddy