Edit icon Edit This Page

Quick Start

This page gets Repsy Open Source running on your machine with one Docker command, and publishes a first package to it. It uses the embedded H2 database, which is meant for trying Repsy out; for a long-lived instance, see Installation. You need Docker and the free ports 8080 and 9090.

Start Repsy

Run the image with a volume for its data:

docker run -d \
  --name repsy \
  -p 8080:8080 \
  -p 9090:9090 \
  -v repsy-data:/app/data \
  -e STORAGE_BASE_PATH=/app/data/storage \
  -e ADMIN_INITIAL_PASSWORD=<admin-password> \
  repo.repsy.io/repsy/os/repsy:latest

Replace <admin-password> with a password of your choice. It needs at least one uppercase letter, one lowercase letter and one digit, and no whitespace, otherwise Repsy refuses to start.

What the options do:

OptionPurpose
-p 8080:8080The web UI.
-p 9090:9090The package protocols: the address your build tools and docker talk to. See Ports and Repository URLs.
-v repsy-data:/app/dataKeeps the embedded database in a Docker volume, so it survives a restart or a new container.
-e STORAGE_BASE_PATH=/app/data/storageKeeps the packages in the same volume. Without it they are stored inside the container’s own file system and are lost when the container is removed.
-e ADMIN_INITIAL_PASSWORD=...The password of the first administrator, admin. It is only read while no administrator exists, that is, on the very first start.

If you leave out ADMIN_INITIAL_PASSWORD, Repsy generates a random password for admin and writes it to the container log once, when it starts for the first time. Read it with docker logs repsy 2>&1 | grep password, which prints one line:

... Admin user created successfully with username: admin and temporarily generated password: <generated-password>

Sign in

Open http://localhost:8080 and sign in with the username admin and your password. You arrive on the dashboard.

Open Profile in the menu behind your avatar at the top right and change the password to one only you know.

Look at the default repositories

Choose Repositories in the sidebar. Repsy created one private repository for every package format on its first start: maven, npm, pypi, docker, cargo, go, helm, nuget and ruby. To create your own, see Creating Your First Repository.

Publish a first package

This example pushes a Docker image to the default docker repository. Docker accepts a plain-HTTP registry on localhost, so no extra setup is needed. Log in with your admin account, then tag and push any local image:

docker login localhost:9090 -u admin
docker pull hello-world
docker tag hello-world localhost:9090/docker/hello-world:1.0
docker push localhost:9090/docker/hello-world:1.0

Open the docker repository in the web UI: the hello-world image is listed there.

For the other package formats, open a repository in the web UI and click Configure. It shows the commands and configuration files for that format, filled in with the address of your repository.

Stop or Remove Repsy

docker stop repsy stops the container and docker start repsy starts it again with its data. To start over from scratch, remove the container and the volume:

docker rm -f repsy
docker volume rm repsy-data
Was this page helpful?