Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Composer
  3. GitLab-Composer

GitLab-Composer

PHP2.0

A GitLab Composer repository that indexes all projects with composer.json files across branches and tags.

GitHubGitHub
162 stars42 forks0 contributors

What is GitLab-Composer?

GitLab Composer repository is a script that creates a private Composer package repository by indexing all projects within a GitLab installation that contain `composer.json` files. It scans branches and tags across all projects, building a package index similar to Packagist.org but for internal use. This solves the problem of managing private PHP dependencies within organizations using GitLab.

Target Audience

PHP developers and teams using GitLab who need to manage private Composer packages internally. Organizations requiring a self-hosted alternative to Packagist for proprietary code.

Value Proposition

Developers choose this project because it provides a lightweight, self-hosted Composer repository solution specifically designed for GitLab environments. It offers Packagist-like functionality without external dependencies, with simple configuration and automatic package discovery across all projects.

Overview

Gitlab Composer repository

Use Cases

Best For

  • Creating private Composer repositories for internal PHP libraries
  • Organizations using GitLab who need to share proprietary packages
  • Teams requiring a self-hosted alternative to Packagist.org
  • Managing dependencies across multiple GitLab projects with composer.json
  • Automating package discovery across branches and tags in GitLab
  • Setting up internal package registries for PHP development

Not Ideal For

  • Organizations using version control systems other than GitLab (e.g., GitHub or Bitbucket)
  • Teams requiring encrypted or hidden package listings for enhanced security
  • Large enterprises needing scalable, high-performance repositories with advanced API integrations
  • Projects already using Satis or commercial solutions that offer better access control

Pros & Cons

Pros

Automatic GitLab Scanning

Scans all branches and tags across GitLab projects to detect composer.json files, automating package discovery without manual setup, as highlighted in the key features.

Packagist-like Behavior

Mimics Packagist.org's functionality, ensuring compatibility with standard Composer workflows and providing a familiar interface for private repositories.

Minimal Configuration

Requires only basic steps like installing dependencies, copying a config file, and setting up a web server alias, per the installation instructions.

Flexible Name Validation

Allows enabling package name mismatches via a setting in gitlab.ini, preventing errors from copied composer.json files, as explained in the usage section.

Cons

Public Package Exposure

The package index is publicly listed by default, posing a security risk for proprietary code, as admitted in the caveats section of the README.

Limited Access Control

Lacks built-in mechanisms to protect the package list itself, relying on GitLab's project-level security and pointing to Satis for better solutions.

Manual Server Setup

Requires additional configuration like setting up cache directories and web server aliases (e.g., .htaccess), which can be complex for non-sysadmin users.

Open Source Alternative To

GitLab-Composer is an open-source alternative to the following products:

S
Satis

Satis is a static Composer repository generator for PHP projects, allowing teams to host private packages and manage dependencies without relying on external package repositories.

Packagist
Packagist

Packagist is the main Composer repository for PHP packages, serving as the default package source for dependency management in PHP projects.

Frequently Asked Questions

Quick Stats

Stars162
Forks42
Contributors0
Open Issues4
Last commit8 years ago
CreatedSince 2013

Tags

#gitlab#dependency-management#composer-repository#package-management#php#private-packages

Built With

C
Composer
P
PHP

Included in

Composer904
Auto-fetched 15 hours ago

Related Projects

SatisfySatisfy

Satis composer repository manager with a Web UI

Stars549
Forks112
Last commit1 year ago
Satis Control PanelSatis Control Panel

Satis Control Panel (SCP) is a simple web UI for managing your Satis Repository for Composer Packages.

Stars153
Forks28
Last commit7 years ago
Satis GoSatis Go

Satis-go is a web server designed to host and manage Satis repositories for Composer packages. It provides a user-friendly interface and API for maintaining private PHP package repositories, eliminating manual configuration management. ## Key Features - **Web Interface** — Simple UI for managing repositories tracked in your Composer package repository - **Satis Integration** — Delegates repository generation to Satis, ensuring compatibility with Composer specifications - **Database-Free** — Manages Satis configuration files directly while maintaining safe read/write operations - **RESTful API** — Enables integration with CI/CD pipelines and automation workflows - **Webhook Support** — Allows repository refresh triggers via API calls on commit/push events ## Philosophy Satis-go follows a minimalistic approach by leveraging existing tools like Satis for core functionality while adding management conveniences, avoiding unnecessary dependencies like databases.

Stars97
Forks21
Last commit6 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub