Skip to content

daidehu6831/mediarepo

 
 

Repository files navigation

mediarepo


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.

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 page or the AUR.

Arch Linux:

$ 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) and node.js installed. For building the UI the required tauri build tooling needs to be installed as well. Please follow their documentation for setup information. You also need to have a working python 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:

$ ./scripts/check.py --install

Note: this only installs tools that are installable via cargo or npm

All Componens:

$ ./scripts/build.py all

Daemon only:

$ ./scripts/build.py daemon

UI only:

$ ./scripts/build.py ui

Clean the output directory:

$ ./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 for more information.

License

GPL-3

About

A media management tool

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 45.1%
  • Rust 40.2%
  • HTML 8.7%
  • SCSS 4.7%
  • Python 0.9%
  • JavaScript 0.3%
  • Dockerfile 0.1%