Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

Latest commit

 

History

History
92 lines (56 loc) · 2.71 KB

README.md

File metadata and controls

92 lines (56 loc) · 2.71 KB

Deprecation Notice

Hi everyone, this project is no longer maintained.

Please use verdaccio/verdaccio and its official Docker Image

Sinopia (Docker Image)

Sinopia is a private npm repository server

Installing Image

docker pull keyvanfatehi/sinopia:latest

Creating Container

docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia:latest

Setting Registry

npm set registry http://<docker_host>:4873/

Determining Username and Password

docker logs sinopia

Modify configuration

There are two ways to modify the configuration.

To understand the difference, view the conversation here: #10

Original Method

docker stop sinopia
docker run --volumes-from sinopia -it --rm ubuntu vi /opt/sinopia/config.yaml
docker start sinopia

Alternative Method

# Save the config file
curl -L https://github.com/raw/rlidwka/sinopia/master/conf/default.yaml -o /path/to/config.yaml
# Mount the config file to the exposed data volume
docker run -v /path/to/config.yaml:/opt/sinopia/config.yaml --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia:latest

Restart the container anytime you change the config.

configure Vagrant

Setting the npm registry to http://localhost:4873 in a Dockerfile which should point to the sinopia registry locally will not work during the docker build process, since localhost:4873 references to the Docker container itself and not the host-machine where sinopia runs. With the Vagrant configuration one could locally spin up this Dockerfile in a vbox with the command vagrant up and reference this registry it in a 'target'-Dockerfile with RUN npm set registry http://10.10.10.10:4873.

# vagrant up

and in the Dockerfile of your application set

CMD npm set registry http://10.10.10.10:4873

Vagrant is open source. See install instructions for mac or *nix.

Backups

docker run --volumes-from sinopia -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /opt/sinopia

Alternatively, host path for /opt/sinopia can be determined by running:

docker inspect sinopia

Restore

docker stop sinopia
docker rm sinopia
docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia:latest
docker stop sinopia
docker run --volumes-from sinopia -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar
docker start sinopia

Links