Giter Site home page Giter Site logo

fossabot / ytradio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from swimmadude66/ytradio

0.0 1.0 0.0 483 KB

Very simple distributed YouTube viewer with the idea of synchronized music listening

License: MIT License

Shell 0.15% JavaScript 5.68% TypeScript 71.88% CSS 6.48% HTML 15.82%

ytradio's Introduction

YTRadio

FOSSA Status

codenamed LifeBoat

Each instance of Lifeboat represents a venue in which you and your friends can DJ to an audience all over the world. What makes Lifeboat different from other DJ'ing platforms of the past is that it is light enough to be hosted as an afterthought on almost any server.

The built in chat allows for lifeboat to serve as a fun substitute for a message board or irc room. Host an instance on your company website and let your customers chat while sharing music. Run multiple instances in a docker containers to turn one server in to a de facto music room for several genres

How to Host

Method 1 - Docker

requires docker

  1. Docker pull swimmadude66/ytradio
  2. Docker run [OPTIONS] swimmadude66/ytradio

[OPTIONS] is a placeholder for any number of docker options you may want to pass in order to make the app fit within your ecosystem. it is recommended that at a bare minimum, you define the environment variables for connecting to your database (via -e or --env-file) and expose the port under which you will run the app (3000 is the default, so use -p"3000:3000").

Additionally, you can mount a volume at /https by passing the -v {cert_location}:/https option.

Development

A docker-compose file has been included, which spins up a mysql instance with unsafe defaults. DO NOT USE THE DOCKER COMPOSE FILE IN PRODUCTION

Instead, it can be used as a handy way to isolate development. Check out the code, Make your changes in the editor of your choice, then run docker-compose up --build -d

The app will be accessible at localhost:3001 with your changes included. The app features live reload, so changes you make on your local filesystem will be instantly reflected in the app. NOTE: changes to server will trigger a server restart, so the app will disconnect momentarily, and your song will be interrupted.

Lastly, to access the mysql database being used for the containers, either exec in to that container (docker exec -it ytradio-db mysql -u root -padmin) or connect the database manager (eg MySQL Workbench, Datagrip) to localhost:6033 and log in with the unsafe default login.

Method 2 - Build from Source

requires git, node, and npm

  1. Clone this repo on to your host box (or just download the zip from github, I'm not your mom)
  2. cd in to the cloned/downloaded repo
  3. run npm i, then npm run gulp
  4. npm start will host the app on the default port!

Development

After cloning and installing, you can run npm run dev to create a live-reloading instance of the app. (note, you will need to run npm start or npm start-dev in a separate terminal to launch the api)

Additionally, you can configure the app by workspace by creating and editing a .env fle in the project root. The contents of the file will be read as KeyValuePairs and overwrite process.env variables.

License

FOSSA Status

ytradio's People

Contributors

acoulon99 avatar d00m-gui avatar ethanmott avatar fossabot avatar joshjonesdev avatar mhackerx avatar swimmadude66 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.