ahriman/README.md

73 lines
3.2 KiB
Markdown

# ArcH Linux ReposItory MANager
[![build status](https://github.com/arcan1s/ahriman/actions/workflows/run-tests.yml/badge.svg)](https://github.com/arcan1s/ahriman/actions/workflows/run-tests.yml)
[![CodeFactor](https://www.codefactor.io/repository/github/arcan1s/ahriman/badge)](https://www.codefactor.io/repository/github/arcan1s/ahriman)
Wrapper for managing custom repository inspired by [repo-scripts](https://github.com/arcan1s/repo-scripts).
## Features
* Install-configure-forget manager for own repository.
* Multi-architecture support.
* VCS packages support.
* Sign support with gpg (repository, package, per package settings).
* Synchronization to remote services (rsync, s3) and report generation (html).
* Dependency manager.
* Repository status interface with optional authorization and control options:
![web interface](web.png)
## Installation and run
For installation details please refer to the [documentation](docs/setup.md). For command help, `--help` subcommand must be used, e.g.:
```shell
$ ahriman --help
usage: ahriman [-h] [-a ARCHITECTURE] [-c CONFIGURATION] [--force] [-l LOCK] [--no-log] [--no-report] [--unsafe] [-v]
{add,check,clean,config,create-user,init,key-import,rebuild,remove,remove-unknown,report,search,setup,sign,status,status-update,sync,update,web} ...
ArcH Linux ReposItory MANager
optional arguments:
-h, --help show this help message and exit
-a ARCHITECTURE, --architecture ARCHITECTURE
target architectures (can be used multiple times) (default: None)
-c CONFIGURATION, --configuration CONFIGURATION
configuration path (default: /etc/ahriman.ini)
--force force run, remove file lock (default: False)
-l LOCK, --lock LOCK lock file (default: /tmp/ahriman.lock)
--no-log redirect all log messages to stderr (default: False)
--no-report force disable reporting to web service (default: False)
--unsafe allow to run ahriman as non-ahriman user (default: False)
-v, --version show program's version number and exit
command:
{add,check,clean,config,create-user,init,key-import,rebuild,remove,remove-unknown,report,search,setup,sign,status,status-update,sync,update,web}
command to run
add add package
check check for updates
clean clean local caches
config dump configuration
create-user create user for web services
init create repository tree
key-import import PGP key
rebuild rebuild repository
remove remove package
remove-unknown remove unknown packages
report generate report
search search for package
setup initial service configuration
sign sign packages
status get package status
status-update update package status
sync sync repository
update update packages
web start web server
```
Subcommands have own help message as well.
## Configuration
Every available option is described in the [documentation](docs/configuration.md).