You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.3 KiB
Markdown
111 lines
3.3 KiB
Markdown
<h1 align="center">
|
|
mediarepo
|
|
</h1>
|
|
<p align="center">
|
|
<img src="https://github.com/Trivernis/mediarepo/raw/main/mediarepo-ui/src-tauri/icons/64x64.png?raw=true"/>
|
|
</p>
|
|
<p align="center">
|
|
<a href="https://github.com/Trivernis/mediarepo/actions/workflows/build.yml">
|
|
<img src="https://img.shields.io/github/workflow/status/trivernis/mediarepo/Build%20and%20test?style=for-the-badge">
|
|
</a>
|
|
<a href="https://mediarepo.trivernis.dev">
|
|
<img src="https://img.shields.io/website?style=for-the-badge&url=https%3A%2F%2Fmediarepo.trivernis.dev">
|
|
</a>
|
|
<a href="https://aur.archlinux.org/packages/mediarepo">
|
|
<img src="https://img.shields.io/aur/version/mediarepo?style=for-the-badge">
|
|
</a>
|
|
<img src="https://img.shields.io/aur/license/mediarepo?style=for-the-badge">
|
|
</p>
|
|
|
|
- - -
|
|
|
|
> Mediarepo is a tool for managing media files.
|
|
It works similar to image boards (boorus) as it allows one to assign tags to media entries and
|
|
search for entries by using those tags.
|
|
|
|
![](https://mediarepo.trivernis.dev/assets/images/screenshot-1.png)
|
|
|
|
## Features
|
|
|
|
### Implemented
|
|
|
|
- management of multiple repositories
|
|
- running repository daemons on startup or in the background
|
|
- importing files from the file system
|
|
- assigning tags to files
|
|
- searching for files using tags and properties
|
|
- sorting files by properties and tag namespaces
|
|
|
|
### Planned
|
|
|
|
- tag aliases and implications
|
|
- file collections
|
|
- importing files from URLs
|
|
- tag lookup using SauceNao and IQDB
|
|
- synchronisation between clients
|
|
|
|
## Installation
|
|
|
|
In order to use mediarepo, the mediarepo daemon and UI application need to be installed.
|
|
Both can be downloaded from the [Releases](https://github.com/Trivernis/mediarepo/releases) page or the AUR.
|
|
|
|
Arch Linux:
|
|
```sh
|
|
$ yay -S mediarepo-daemon mediarepo
|
|
```
|
|
|
|
When installing manually the `mediarepo-daemon` binary needs to be accessible in the `PATH` variable.
|
|
|
|
|
|
## Building
|
|
|
|
### Prerequisites
|
|
|
|
You need to have a working rust toolchain (e.g. via [rustup](https://rustup.rs/)) and [node.js](https://nodejs.org) installed.
|
|
For building the UI the required tauri build tooling needs to be installed as well. Please follow [their documentation](https://tauri.studio/docs/getting-started/prerequisites) for setup information.
|
|
You also need to have a working [python](https://www.python.org/) installation on your system.
|
|
|
|
### Building mediarepo
|
|
|
|
After all required dependencies are installed and tools are accessible in the `PATH`, you can build the project like follows:
|
|
|
|
Check (and install) required tooling:
|
|
```sh
|
|
$ ./scripts/check.py --install
|
|
```
|
|
> Note: this only installs tools that are installable via cargo or npm
|
|
|
|
All Componens:
|
|
```sh
|
|
$ ./scripts/build.py all
|
|
```
|
|
|
|
Daemon only:
|
|
```sh
|
|
$ ./scripts/build.py daemon
|
|
```
|
|
|
|
UI only:
|
|
```sh
|
|
$ ./scripts/build.py ui
|
|
```
|
|
|
|
Clean the output directory:
|
|
```sh
|
|
$ ./scripts/clean.py
|
|
```
|
|
|
|
After building the `out` directory contains all the built binaries and bundles.
|
|
|
|
### Test Builds
|
|
|
|
For test builds the `Containerfile` in this repository can be used. This way no build dependencies need to be installed on the system. The Containerfile doesn't provide any artifacts and can only be used for validation.
|
|
|
|
## Usage and Further Information
|
|
|
|
Please consult the [official website](https://mediarepo.trivernis.dev) for more information.
|
|
|
|
|
|
## License
|
|
|
|
GPL-3 |