Skip to content

Binara

Binara is a private artifact hosting service for NPM and Go modules. It provides secure, reliable package management for teams and organizations.

  1. Private any Go or NPM package to Binara
  2. Team members install packages using standard package managers
  3. Publish final versions to public registries when you’re ready!

Private NPM Registry

Host private NPM packages with full npm CLI compatibility. Supports scoped packages and standard npm workflows.

Go Module Proxy

Private Go module hosting with full Go toolchain support. Compatible with go get, go mod, and all standard Go commands locall or from CI.

Team Access Control

Granular permissions system to control who can publish, install, or manage packages in your organization or audience.

Secure Authentication

Control Public and Private version access using IAM policies, fine-grained at repository, package, module or version level.

High Availability

Enterprise-grade infrastructure with global CDN distribution and 99.9% uptime SLA.

Seamless Integration

Works locally and with existing CI/CD pipelines and development workflows without any configuration changes.

To get started, install the Deployport CLI:

Terminal window
sh curl -fsSL https://get.deployport.com | sh

Once installed, create your first Binara repository:

Terminal window
deployport binara repo create myrepo

A repository can host packages, some are NPM packages or Go modules.

Let’s continue by creating a NPM module in our new repository:

Terminal window
deployport binara npm module create --repository myrepo frontclient

Now, you could navigate to the directory where you have your NPM module:

Terminal window
$HOME/projects/frontclient

However, this guide assumes you don’t have any so we initialize a new NPM module:

Terminal window
mkdir -p $HOME/projects/frontclient && cd $HOME/projects/frontclient && npm init -y

At this point we can now publish the NPM module privately:

Terminal window
deployport binara npm push --repository myrepo --visibility private

deployport binara npm push invokes npm under the hood:

Terminal window
npm notice frontclient@1.0.0
npm notice Tarball Contents
npm notice 247B package.json
npm notice Tarball Details
npm notice name: frontclient
npm notice version: 1.0.0
npm notice filename: frontclient-1.0.0.tgz
npm notice package size: 259 B
npm notice unpacked size: 247 B
npm notice shasum: 244a896f7ff7ecb8c2852df99ffafb7b1b296398
npm notice integrity: sha512-eaaQ8GnGLlw7+[...]e4xZH6Ewe/f/g==
npm notice total files: 1
npm notice
npm notice Publishing to https://myrepo-acc95.r.ljb.deployport.io/npm with tag latest and default access
+ frontclient@1.0.0
> myrepo:frontclient@1.0.0 Pushed successfully!
> myrepo:frontclient@1.0.0 Visibility is private