Giter Site home page Giter Site logo

draconem / bragibooks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from djdembeck/bragibooks

0.0 0.0 0.0 790 KB

An audiobook library cleanup & management docker, written in Django. Using m4b-merge for the backend Audible metadata and file merging/editing.

License: GNU General Public License v3.0

Python 74.89% HTML 23.30% Dockerfile 1.62% Shell 0.19%

bragibooks's Introduction

Project logo

Bragibooks

Status GitHub Issues GitHub Pull Requests License Docker Docker Pulls Docker Image Size (latest by date) Docker Image Version (latest by date) CodeFactor Grade


An audiobook library cleanup & management app, written as a frontend for web use of m4b-merge.

๐Ÿ“ Table of Contents

๐Ÿง About

Bragi - (god of poetry in Norse mythology): Bragibooks provides a minimal and straightforward webserver that you can run remotely or locally on your server. Since Bragibooks runs in a docker, you no longer need to install dependencies on whichever OS you are on. You can

Some basics of what Bragi does:

  • Merge multiple files
  • Convert mp3(s)
  • Cleanup existing data on an m4b file
  • More features on m4b-merge's help page

Screens

Folder/file selection ASIN input
file-selection asin-pre
Folder/file selection Post-proccess overview
asin-input post-process

๐Ÿ Getting Started

You can either install this project directly or run it prepackaged in Docker.

Prerequisites

Docker

  • All prerequisites are included in the image.

Direct (Gunicorn)

  • You'll need to install m4b-tool and it's dependants from the project's readme
  • Run pip install -r requirements.txt from this project's directory.

Installing

Docker

To run Bragibooks as a container, you need to pass some paramaters in the run command:

Parameter Function
-v /path/to/input:/input Input folder
-v /path/to/output:/output Output folder
-v /appdata/bragibooks/config:/config Persistent config storage
-p 8000:8000/tcp Port for your browser to use
-e LOG_LEVEL=WARNING Choose any logging level

Which all together should look like:

docker run --rm -d --name bragibooks -v /path/to/input:/input -v /path/to/output:/output -v /appdata/bragibooks/config:/config -p 8000:8000/tcp -e LOG_LEVEL=WARNING ghcr.io/djdembeck/bragibooks:main

Direct (Gunicorn)

  • Copy static assets to project folder:
    python manage.py collectstatic
    
  • Create the database:
    python manage.py migrate
    
  • Run the web server:
    gunicorn bragibooks_proj.wsgi \
    --bind 0.0.0.0:8000 \
    --timeout 1200 \
    --worker-tmp-dir /dev/shm \
    --workers=2 \
    --threads=4 \
    --worker-class=gthread \
    --reload \
    --enable-stdio-inheritance
    

๐ŸŽˆ Usage

The Bragibooks process is a linear, 3 step process:

  1. Select input - Use the file multi-select box to choose which books to process this session, and click next.
  2. Submit ASINs - Enter the 10-character ASIN for each book, found on Audible.com (US only) and submit.
  3. Wait for books to finish processing. This can take anywhere from 10 seconds to a few hours, depending on the number and type of files submitted.
  4. Finish page - Page where you can see the data assigned to each book after it has finished processing.

โ›๏ธ Built Using

โœ๏ธ Authors

๐ŸŽ‰ Acknowledgements

bragibooks's People

Contributors

djdembeck avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.