Reposilite - ArchWiki

Jump to content
From ArchWiki

From Reposilite, reposilite is a:

  Lightweight and easy-to-use repository manager for Maven based artifacts in JVM ecosystem. This is simple, extensible and scalable self-hosted solution to replace managers like Nexus, Archiva or Artifactory, with reduced resources consumption.

## Installation

Install reposiliteAUR, reposilite is also available on PolarRepo.

## Package contents

### Configuration

Configuration files are located in `/etc/reposilite` :

- `default.env` : configuration variables used to run reposilite (allocated memory, user, working directory, configuration location)
- `reposilite.cdn` : main reposilite configuration file

### Data directory

Reposilite data is stored in `/var/lib/reposilite`. This include default shared configuration database as well as repositories contents.

### Service files

Package include systemd service file for the `reposilite.service`. It is not enabled by default

## Getting started

Reposilite does the majority of its configuration through the web interface. When you first install reposilite you will not have any user to login as (reposilite designates users as "tokens"). Before creating the first token, ensure that `reposilite.service` is stopped.

Run the reposilite binary as root :

    # /usr/bin/reposilite

This will start the server and a CLI interface in the terminal; the next set of commands will be run from the CLI (we will use `!` to indicate that these command are run in the reposilite CLI) :

    ! token-generate username m

Remember to replace username with the desired username, it is best to let reposilite generate you a secure token, but if you wish to use your own token, you can use the following command:

    ! token-generate --secret="your password" username m

Warning: Do not use a weak token, if it is too easy to break an attacker could break into your reposilite server and potentially have access to your servers filesystem!
Note: The trailing "m" character is used to give the user manager permissions (commonly known as an administrator, or root user within other applications), this will allow the user to configure reposilite, therefore keep this user safe!

Now that you have generated the username (if you let reposilite generate your token, make sure to copy this down securely, a password manager is recommended), you can stop the reposilite server using the following command:

    ! stop

Reposilite will then gracefully shutdown and detach from your terminal.

You can now start/enable `reposilite.service` and you will be able to access the reposilite web interface over `http://127.0.0.1:8080`.