Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 1.52 KB

File metadata and controls

65 lines (45 loc) · 1.52 KB

OmniRepo

OmniRepo is a web-based server for hosting and managing package repositories for Debian/Ubuntu (apt/deb), RedHat/CentOS (rpm/yum), and generic package files.

The server supports:

  • Generation and hosting of RPM, DEB, and generic repositories
  • Package upload, deletion, copying, and promotion between environments
  • PGP signing key creation and management
  • Version management
  • User read and write access control
  • REST API

Getting Started

The recommended way to run OmniRepo is with Docker. Persistent files such as the database, cache, PGP keys, and package files are stored in the omnirepo-data directory.

Install Podman or Docker.

Start the server:

docker run -d --name omnirepo \
  -p 5333:5333 \
  -v $(pwd)/omnirepo-data:/app/data \
  ghcr.io/SnapXL/OmniRepo:latest

Build

Run dotnet build -tl to build the solution.

Run

To run the web application:

cd ./src/Web
dotnet watch run

Navigate to http://localhost:5333. The application will automatically reload if you change any of the source files.

Test

The solution contains unit, integration, functional, and acceptance tests.

To run the unit, integration, and functional tests (excluding acceptance tests):

dotnet test --filter "FullyQualifiedName!~AcceptanceTests"

To run the acceptance tests, first start the application:

cd ./src/Web
dotnet run

Then, in a new console, run the tests:

cd ./src/Web
dotnet test