Skip to content
@dashotv

DashoTV

DashoTV PVR software

DashoTV

PVR software similar to Sonarr, Radarr, and all the other *-arrs out there. This is shawncatz's personal project to manage my media server.

This is also a project that I use to play around with new technologies and experiment with new ideas.

This is the most recent evolution of software that I've been working on - on and off - for over 20 years. It started as a simple PHP site that would manage TV Series and Movies and grew from there.

Alpha

This code is alpha. It's all public, but it's still pretty rough. Let me know if you're interested or going to use it.

Features

  • Manage TV Series and Movies
  • Manage an index of torrents and usenet posts
    • In the future I'd like to extend this to support other indexing systems (Jackett, etc)
  • Automatically download new episodes and movies
  • Automatically rename and organize media
  • Automatically sync with Plex and Jellyfin
  • Integrates with Qbittorrent and NZBGet for downloading

Technology

An overview of all the technology used in this project. Everything is built with golang and the UI is react and typescript.

Services

  • Flame is the service that manages communication with the torrent and nzb downloaders.
    • It also includes golang clients for Qbittorrent and NZBGet.
  • Tower is the service that manages all of the media and communications with Plex and Jellyfin.
  • Scry is the search service. It handles searching the Elasticsearch indexes of media and releases (torrents and nzbs) as well as searches against TheTVDB and TheMovieDB.
  • UI is the web UI for the system. It's built with React and Typescript.

Notable Libraries

  • Golem is a custom framework for managing microservices. I built this to play around with code generation to simplify working on multiple services. It ain't perfect, but it was fun to build.
  • Grimoire is a custom ORM that's built on top of Kamva mgm using Golang 1.18 generics.
  • Mercury is a lightweight pub/sub framework built on top of Nats. Simplifies communication between services as well as websockets.
  • Minion is a lightweight background job / worker pool / scheduler.
  • TVDB is a client for TheTVDB API.
  • TMDB is a client for TheMovieDB API.
  • Arcane is the setup and management CLI for DashoTV, it is not yet released.

Supporting Systems

Installation

The entire system is managed as a set of containers through Docker Compose. This is not ready for production use, and hasn't been productionized for other people to try it yet.

Pinned

  1. ui ui Public

    DashoTV react UI

    TypeScript

  2. tower tower Public

    DashoTV media service

    Go

  3. flame flame Public

    DashoTV torrent and nzb service

    Go 2

  4. scry scry Public

    DashoTV search service

    Go

  5. tmdb tmdb Public

    DashoTV tmdb v3 client (alpha)

    Go

  6. tvdb tvdb Public

    DashoTV tvdb v4 client (alpha)

    Go

Repositories

Showing 10 of 28 repositories
  • tower Public

    DashoTV media service

    dashotv/tower’s past year of commit activity
    Go 0 Apache-2.0 0 0 0 Updated Jun 24, 2024
  • scry Public

    DashoTV search service

    dashotv/scry’s past year of commit activity
    Go 0 Apache-2.0 0 0 0 Updated Jun 24, 2024
  • minion Public
    dashotv/minion’s past year of commit activity
    Go 0 0 0 0 Updated Jun 24, 2024
  • grimoire Public
    dashotv/grimoire’s past year of commit activity
    Go 0 0 0 0 Updated Jun 24, 2024
  • runic Public
    dashotv/runic’s past year of commit activity
    Go 0 Apache-2.0 0 0 0 Updated Jun 24, 2024
  • ui Public

    DashoTV react UI

    dashotv/ui’s past year of commit activity
    TypeScript 0 0 0 0 Updated Jun 23, 2024
  • tvdb Public

    DashoTV tvdb v4 client (alpha)

    dashotv/tvdb’s past year of commit activity
    Go 0 MIT 0 0 0 Updated Jun 18, 2024
  • arcane Public
    dashotv/arcane’s past year of commit activity
    TypeScript 0 Apache-2.0 0 0 0 Updated Jun 18, 2024
  • golem Public

    A toolchain, similar to Rails or other application frameworks, that instead generates idiomatic go.

    dashotv/golem’s past year of commit activity
    Go 0 Apache-2.0 0 0 0 Updated Jun 18, 2024
  • rift Public
    dashotv/rift’s past year of commit activity
    Go 0 Apache-2.0 0 0 0 Updated Jun 12, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…