Giter Club home page Giter Club logo

jarvis's Introduction

License Build Gitmoji

Jarvis is a simple and easy to setup media stack that can be deployed on any unix based system that has Docker installed within a few minutes and offer a near feature complete self-hosted media system:

๐Ÿ“‹ Requirements

These are the required libraries/packages to run this stack:

๐Ÿš€ Usage

curl -sSL https://jarvis.nuro.dev | sh

๐Ÿ”ง Configure

For the most part, once the stack has been setup and deployed there are 2 key configuration steps that needs to be done.

๐Ÿก Homer

The first step is to modify the Homer config file. This can be found under config/homer/config.yml.

In here you can modify your home dashboard with whatever links or customization you like. A number of service links have already been provided, however there is one key configration requirement and that is to modify the URL's set for each service to be the domain of your choice.

๐Ÿ“ซ Email (Optional)

To generate a certificate from Let's Encrypt, an email address is required. As such in the Caddyfile a placeholder email global variable has been provided but commented out. Uncomment the variable by removing the # and entering your email address.

You can also optionally modify the acme_ca URL, which specifies the URL to the ACME CA's directory. However it is recommended to leave this to the default Let's Encrypt production endpoint unless you require the use of the Let's Encrypt staging or development endpoints.

๐Ÿ”‘ Access

Container Description URL
Cadvisor Docker Metrics cadvisor.ip_address
Grafana Monitoring Dashboard monitoring.ip_address
Homer Home Dashboard ip_address
Node Exporter System Metrics node_exporter.ip_address
Overseerr Content Requesting request.ip_address
Plex Content Streaming watch.ip_address
Prometheus Metrics Database prometheus.ip_address
Tautulli Plex Metrics tautulli.ip_address

โœ… Optional

There are some work-in-progress optional branches that trade some services for alternatives.

The most recent of such branches has been the jellyfin branch which replaces the plex and tautulli services with Jellyfin which is a completely self-hosted media server, compared to Plex which still requires on services hosted by Plex themselves.

To get started using the jellyfin branch, use the following command in place of the one above:

curl -sSL https://jarvis.nuro.dev/jellyfin | sh

Or check the jellyfin branch for more details.

๐Ÿ“‹ TODO

  • Add GitHub Actions CI for testing.
  • Fix Homer service URL's so they're based on the DOMAIN environment vairable.
  • Add basicauth to some metric endpoints via the Caddy Module.
  • Add Caddy prometheus metrics using Caddy module (Requires custom Caddy image build).
  • Provide custom pre-made Grafana dashboard.
  • Add Varken data aggregator container.

jarvis's People

Contributors

nurodev avatar pagdot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.