Skip to content
/ x-media Public

Self hosted streaming media server. Like Netflix, but much worse

Notifications You must be signed in to change notification settings

0x113/x-media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How To Use

To clone and run this application, you'll need git, docker and docker-compose. Follow this steps to make this work:

  1. Clone this repository.
    $ git clone https://github.com/0x113/x-media
    $ cd x-media
    
  2. Run it via docker.
    docker-compose up
    

Services

TV shows service

  • Runs at port 8001

User service

  • Runs at port 8002

Authentication service

  • Runs at port 8003

Movie service

  • Runs at port 8004

Config

Config files are avaiable at <service-name>/config/config.json

List of required config changes

TV shows service

  • tv_show_directories - currently only one directory is supported, must be same like in the docker-compose.yml. Have idea how to fix it, but don't have time 😄

Authentication service

access_secret - secret key to generate authentication token refresh_secret - secret key to generate refresh token

Movie service

  • tmdb_api_key - API key for the TMDb
  • movie_directories - currently only one directory is supported, must be same like in the docker-compose.yml. Have idea how to fix it, but don't have time 😄

API docs

Generated using swagger.
You can read the docs for each service at the localhost:<service-port>/docs.
Example: localhost:8001/docs will give you docs for the tv show service.

Reverse proxy

Using treafik.
Visit localhost:8080 for the dashboard.


Calling services

You can call each service separatly with curl --header "Host: <hostname>" localhost/<api-endpoint> Example: curl --header "Host: tvshowsvc" localhost/api/v1/tvshows/get/all

Hosts

  • User service -> usersvc
  • Authentication service -> authsvc
  • Movie service -> moviesvc
  • TV shows service -> tvshowsvc

Frontend

Work in progress :).
Currenly working on some themes like 8bit or some modern one, so it is in a design phase. If you'd like to create frontend for this project, feel free to contribute.

Third party APIs

TMDb - getting data about movies

tmdb-logo


TVmaze - getting data about tv shows

tmdb-logo

Releases

No releases published

Languages