‼️ ‼️ ‼️ ‼️ DEPRECATED, please use https://github.com/cnpm/cnpmcore ‼️ ‼️ ‼️ ‼️
Private npm registry and web for Enterprise, base on koa, MySQL and Simple Store Service.
Our goal is to provide a low cost maintenance, easy to use, and easy to scale solution for private npm.
cnpmjs.org
?cnpmjs.org
now)mysql
and a simple store system.package.json
info can store in MySQL, MariaDB, SQLite or PostgreSQL.
tarball(tgz file) can store in Amazon S3 or other object storage service.npm
with more features(sync
command, gzip support).
And it is easy to wrap for your own registry which build with cnpmjs.org
.cnpmjs.org
.
you only need to change the registry in client config.npm install -g cnpm
http_proxy
sqlite3
by defaultmysqld
and mysql cli
. I test on [email protected]
.# clone from git
$ git clone https://github.com/cnpm/cnpmjs.org.git
# install dependencies
$ make install
# test
$ make test
# coverage
$ make test-cov
# update dependencies
$ make autod
# start server with development mode
$ make dev
Cnpmjs.org shipped with a simple but pragmatic Docker Compose configuration.With the configuration, you can set up a MySQL backend cnpmjs.org instance by executing just one command on Docker installed environment.
Make sure your current working directory is the root of this GitHub repository.
$docker-compose up
This command will build a Docker image using the current code of repository. Then set up a dockerized MySQL instance with data initialized. After Docker container running, you can access your cnpmjs.org web portal at http://127.0.0.1:7002 and npm register at http://127.0.0.1:7001.
$docker-compose up -d
$docker-compose build
The current configuration set 2 named Docker Volume for your persistent data. If you haven't change the repository directory name, them will be "cnpmjsorg_cnpm-files-volume" & "cnpmjsorg_cnpm-db-volume".
Be Careful, the following commands will remove them.
$docker-compose rm
$docker volume rm cnpmjsorg_cnpm-files-volume
$docker volume rm cnpmjsorg_cnpm-db-volume
You can get more information about your data volumes using the below commands:
$docker volume ls // list all of your Docker volume
$docker volume inspect cnpmjsorg_cnpm-files-volume
$docker volume inspect cnpmjsorg_cnpm-db-volume
Tips: make sure your code is following the node-style-guide.
This project follows the git-contributor spec, auto updated at Sun Mar 20 2022 09:50:54 GMT+0800
.