Quick Start¶
Get OrbitRepos up and running in seconds using Docker Compose. All examples use the official image from GHCR:
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
- URL: http://localhost:8080
- Credentials:
admin/admin
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
- OrbitRepos: http://localhost:8080
- MinIO Console: http://localhost:9001
- Credentials:
admin/admin
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
- OrbitRepos: http://localhost:8080
- Keycloak Console: http://localhost:8180
- MinIO Console: http://localhost:9001
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¶
- Configuration Reference — Full list of environment variables and YAML options
- System Architecture — Deep dive into the system design
- UI Design Principles — Frontend design system and patterns