Skip to content

Quick Start

Get OrbitRepos up and running in seconds using Docker Compose. All examples use the official image from GHCR:

docker pull ghcr.io/vanlongme/orbitrepos:0.1.0-alpha

Image Tags

Available tags: latest, 0.1.0-alpha, 0.1, sha-<commit>. Use a specific version for reproducible deployments.

Option 1: Basic (Filesystem Storage)

Ideal for local testing or small teams using local disk.

curl -O https://raw.githubusercontent.com/vanlongme/OrbitRepos/main/examples/docker-compose.yml
docker compose up -d

Option 2: S3-Compatible (MinIO)

Full storage lifecycle testing with an embedded MinIO instance.

curl -O https://raw.githubusercontent.com/vanlongme/OrbitRepos/main/examples/docker-compose.s3.yml
docker compose -f docker-compose.s3.yml up -d

Option 3: Full Stack (OIDC + S3)

Includes Keycloak for OpenID Connect testing and MinIO for storage.

curl -O https://raw.githubusercontent.com/vanlongme/OrbitRepos/main/examples/docker-compose.full.yml
docker compose -f docker-compose.full.yml up -d

Keycloak Test Users:

Username Password Role
alice alice123 Admin
bob bob123 Developer
carol carol123 No groups

Verify It Works

Once started, open http://localhost:8080 in your browser and log in with admin / admin.

Push a Docker Image

# Tag a local image for OrbitRepos
docker tag nginx:latest localhost:8080/my-docker-hosted/nginx:latest

# Log in to the registry
docker login localhost:8080 -u admin -p admin

# Push the image
docker push localhost:8080/my-docker-hosted/nginx:latest

Note

You'll need to create a Docker hosted repository named my-docker-hosted through the UI or API first.

Upload a Generic File

curl -u admin:admin \
  -T myfile.tar.gz \
  http://localhost:8080/raw/my-raw-hosted/path/to/myfile.tar.gz

Configuration

OrbitRepos is configured via environment variables prefixed with ORBITREPO_ or a orbitrepo.yaml config file.

Key settings:

Setting Environment Variable Default
Port ORBITREPO_SERVER_PORT 8080
Storage type ORBITREPO_STORAGE_TYPE filesystem
JWT secret ORBITREPO_AUTH_JWT_SECRET change-me-in-production
Admin password ORBITREPO_AUTH_ADMIN_PASSWORD admin123
Log level ORBITREPO_LOG_LEVEL info

See the Configuration Reference for the complete list.

Next Steps