Skip to content

Composer Package Registry


Prerequisites

  • PHP installed
  • Official composer utility

Verify installation:

composer -V

Install if missing:

php composer-setup.php --install-dir=bin --filename=composer

Adding Composer Packages

  1. Obtain a GitFlic transport token:
    Transport Token Guide

  2. Replace <gitflic_domain> with:

  3. SaaS version: registry.gitflic.ru
  4. Self-hosted: localhost:8080 (port may vary)

Configuring ~/composer.json

Add registry to your project's root composer.json:

Access Level URL Pattern
Project http(s)://<gitflic_domain>/project/{ownerAlias}/{projectAlias}/package/-/composer
Company http(s)://<gitflic_domain>/company/{companyAlias}/package/-/composer
Instance http(s)://<gitflic_domain>/package/-/composer

Placeholders:
- projectAlias: Project nickname
- companyAlias: Company nickname
- ownerAlias: Project owner nickname

Company Example:

{
    "repositories": [{
        "type": "composer",
        "url": "https://registry.gitflic.ru/company/<companyAlias>/package/-/composer"
    }]
}

Project Example:

{
    "repositories": [{
        "type": "composer",
        "url": "https://registry.gitflic.ru/project/<ownerAlias>/<projectAlias>/package/-/composer"
    }]
}

Authentication via auth.json

Configure credentials in auth.json:

{
  "http-basic": {
    "registry.gitflic.ru": {
      "username": "<username>",
      "password": "<Transport_Token>"
    }
  }
}

Publishing Packages

PUT Request Example (company-level upload):

curl --location --request PUT \
'https://registry.gitflic.ru/company/<companyAlias>/package/-/composer' \
--user <username>:<Transport_Token> \
--header 'Content-Type: application/zip' \
--upload-file <package_path>

Optional version parameter:
.../composer?version=1.0.0

Installing Packages

Basic installation:

composer require {packageName}

Specific version:

composer require {packageName}:{packageVersion}

Parameter Description
packageName Package identifier
packageVersion Version number

Automatic translation!

This page has been automatically translated. The text may contain inaccuracies