diff --git a/README.md b/README.md index 2998eda3..132128bc 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Actual Budget](https://github.com/actualbudget/actual-server) - Local-first OpenSource Budget tool - [Adguard Home](https://github.com/AdguardTeam/AdGuardHome) - Adguard Home DNS adblocker +- [Audiobookshelf](https://github.com/advplyr/audiobookshelf) - Audiobookshelf is a self-hosted audiobook and podcast server. - [autobrr](https://github.com/autobrr/autobrr) - Automation for downloads. - [Barrage](https://github.com/maulik9898/barrage) - Minimal Deluge WebUI with full mobile support - [Bazarr](https://github.com/morpheus65535/bazarr) - A companion application to Sonarr and Radarr that manages and downloads subtitles diff --git a/apps/audiobookshelf/config.json b/apps/audiobookshelf/config.json new file mode 100644 index 00000000..a2b6fe13 --- /dev/null +++ b/apps/audiobookshelf/config.json @@ -0,0 +1,19 @@ +{ + "$schema": "../schema.json", + "name": "Audiobookshelf", + "available": true, + "exposable": true, + "port": 13378, + "id": "audiobookshelf", + "tipi_version": 1, + "version": "2.3.3", + "categories": [ + "books", + "media" + ], + "description": "Audiobookshelf is a self-hosted audiobook server for managing and playing your audiobooks. Audiobookshelf has a clean, accessible design that's loaded with features but not overly complicated.", + "short_desc": "Audiobookshelf is a self-hosted audiobook and podcast server.", + "author": "advplyr", + "source": "https://github.com/advplyr/audiobookshelf", + "form_fields": [] +} diff --git a/apps/audiobookshelf/docker-compose.yml b/apps/audiobookshelf/docker-compose.yml new file mode 100644 index 00000000..cc77cae8 --- /dev/null +++ b/apps/audiobookshelf/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3.7' +services: + audiobookshelf: + container_name: audiobookshelf + image: ghcr.io/advplyr/audiobookshelf:2.3.3 + restart: unless-stopped + ports: + - ${APP_PORT}:80 + volumes: + - ${ROOT_FOLDER_HOST}/media/data/books/spoken:/audiobooks + - ${ROOT_FOLDER_HOST}/media/data/podcasts:/podcasts + - ${APP_DATA_DIR}/data/config:/config + - ${APP_DATA_DIR}/data/metadata:/metadata + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.audiobookshelf-web-redirect.redirectscheme.scheme: https + traefik.http.services.audiobookshelf.loadbalancer.server.port: 80 + # Web + traefik.http.routers.audiobookshelf-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.audiobookshelf-insecure.entrypoints: web + traefik.http.routers.audiobookshelf-insecure.service: audiobookshelf + traefik.http.routers.audiobookshelf-insecure.middlewares: audiobookshelf-web-redirect + # Websecure + traefik.http.routers.audiobookshelf.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.audiobookshelf.entrypoints: websecure + traefik.http.routers.audiobookshelf.service: audiobookshelf + traefik.http.routers.audiobookshelf.tls.certresolver: myresolver + # Local domain + traefik.http.routers.audiobookshelf-local-insecure.rule: Host(`audiobookshelf.${LOCAL_DOMAIN}`) + traefik.http.routers.audiobookshelf-local-insecure.entrypoints: web + traefik.http.routers.audiobookshelf-local-insecure.service: audiobookshelf + traefik.http.routers.audiobookshelf-local-insecure.middlewares: audiobookshelf-web-redirect + # Local domain secure + traefik.http.routers.audiobookshelf-local.rule: Host(`audiobookshelf.${LOCAL_DOMAIN}`) + traefik.http.routers.audiobookshelf-local.entrypoints: websecure + traefik.http.routers.audiobookshelf-local.service: audiobookshelf + traefik.http.routers.audiobookshelf-local.tls: true diff --git a/apps/audiobookshelf/metadata/description.md b/apps/audiobookshelf/metadata/description.md new file mode 100644 index 00000000..500c643e --- /dev/null +++ b/apps/audiobookshelf/metadata/description.md @@ -0,0 +1,32 @@ +# AudiobookShelf +Audiobookshelf is a self-hosted audiobook and podcast server. + +### Features + +* Fully **open-source**, including the [android & iOS app](https://github.com/advplyr/audiobookshelf-app) *(in beta)* +* Stream all audio formats on the fly +* Search and add podcasts to download episodes w/ auto-download +* Multi-user support w/ custom permissions +* Keeps progress per user and syncs across devices +* Auto-detects library updates, no need to re-scan +* Upload books and podcasts w/ bulk upload drag and drop folders +* Backup your metadata + automated daily backups +* Progressive Web App (PWA) +* Chromecast support on the web app and android app +* Fetch metadata and cover art from several sources +* Chapter editor and chapter lookup (using [Audnexus API](https://audnex.us/)) +* Merge your audio files into a single m4b +* Embed metadata and cover image into your audio files (using [Tone](https://github.com/sandreas/tone)) +* Basic ebook support and ereader + * Epub, pdf, cbr, cbz + * Send ebook to device (i.e. Kindle) +* Open RSS feeds for podcasts and audiobooks + +# Folder Info + +| Root Folder | Container Folder | +|-------------------------------------|------------------| +| /runtipi/app-data/audiobookshelf/config | /config | +| /runtipi/app-data/audiobookshelf/metadata | /metadata | +| /runtipi/media/data/books/spoken | /audiobooks | +| /runtipi/media/data/podcasts | /podcasts | \ No newline at end of file diff --git a/apps/audiobookshelf/metadata/logo.jpg b/apps/audiobookshelf/metadata/logo.jpg new file mode 100644 index 00000000..c342dcfb Binary files /dev/null and b/apps/audiobookshelf/metadata/logo.jpg differ