Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Private npm - What can you do with your own npm...
Search
Szabolcs Szabolcsi-Toth
November 19, 2014
Programming
0
100
Private npm - What can you do with your own npm registry
My talk for the NodeBp meetup, November 2014
Szabolcs Szabolcsi-Toth
November 19, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
高速開発のためのコード整理術
sutetotanuki
1
410
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Package Management Learnings from Homebrew
mikemcquaid
0
230
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
CSC307 Lecture 02
javiergs
PRO
1
780
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
SourceGeneratorのススメ
htkym
0
200
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
670
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
470
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Optimizing for Happiness
mojombo
379
71k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
58
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
RailsConf 2023
tenderlove
30
1.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
79
Transcript
PRIVATE NPM What can you do with your own npm
registry
HELLO I'm Szabolcs Szabolcsi-Toth Senior Front-end Engineer @ Ustream @_Nec
NPM
NPM Public and open ecosystem of open source modules Has
several public mirrors
NPM IS GREAT but "what if" you want to do
sensitive stuff you want to do proprietary stuff you want to use npm, but internally distribute modules you don’t trust availability
PRIVATE NPM REGISTRY
“Don’t run your own registry, use ours” Laurie Voss
PRIVATE NPM REGISTRIES Full mirror Caching GBytes of data Only
what needed
OUR USECASE AT USTREAM
SYSOP REQUIREMENT “what happens when an npm install dies during
a major deployment?” “we're f**ked”
SINOPIA github.com/rlidwka/sinopia
SINOPIA caching registry use with chef/docker simple storage
WORKING WITH SINOPIA
AUTHENTICATION simple adduser publisher/reader rights since npm 1.5-alpha (v2.0.0) users
can scope credentials to different registries
PER-PROJECT CONFIGURATION .npmrc per project registry configuration since v1.4.11 package.json
use ‘publishConfig’
PUBLISH - UNPUBLISH n p m p u b l
i s h - - r e g i s t r y h t t p : / / y o u r - o w n . r e g i s t r y . u r l m o d u l e n a m e n p m u n p u b l i s h - - f o r c e - - r e g i s t r y h t t p : / / y o u r - o w n . r e g i s t r y . u r l m o d u l e n a m e
SECURITY Ours only accessible from a well defined domain /
ip pool
USECASES
YOU CAN DO... private modules (obviously)
YOU CAN DO... Versioned modules for deployment Configuration management and
distribution
YOU CAN DO... Not just backend modules Front-end module registry
YOU CAN... Prepare for the open source world Test, use,
then go open source Get used to the tools, workflow and mindset
EXAMPLES
CONFIGURATION MANAGEMENT AND DISTRIBUTION This is how we distribute configurations
for our node apps
BUILD & DEPLOYMENT GIT FEATURE BETA LIVE FEATURE BETA LIVE
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
BUILD & DEPLOYMENT GIT NPM FEATURE BETA LIVE FEATURE BETA
LIVE MODULE v0.2.4 MODULE v0.1.2 MODULE v0.2.1 MODULE v0.1.1
CONFIGURATION MANAGEMENT AND DISTRIBUTION Works with Modules, or even better:
Configurations
FRONT-END MODULES Internal ‘bower’ using our private npm registry Flat
dep tree cli, or package.json This is also a problem at npm
FINALLY
DRAWBACKS Feature lag Deal with securing and hosting and backup
THE FUTURE npm is working on this! scoped packages (prefixed
with your org)
NPME npme (as enterprise) use it like npm you host
it selective mirror OAuth2, more is coming developed by npm - no feature lag still in trial
NPME It's not free Support npm, use a good solution
no price information yet
THANK YOU! @_Nec