Jump to content

# Reposilite

From ArchWiki

From the project repository, 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 the reposiliteAUR package. It can also be downloaded through Github Releases.

### 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

The package contains the `reposilite.service` systemd unit. It is not enabled by default.

## Usage

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`.

Categories:

- Development
- Servers

Reposilite
Add topic