Giter VIP home page Giter VIP logo

streamr's Introduction

streamr

Locally hosted web application for media streaming.

Docker

Commits to main will use GitHub Actions to run an automatic build and deployment process. This build compiles the Docker image to both an amd64 and arm/v7 (for RasbianOS) compiled image. Either can be pulled as follows:

amd64
docker pull ghcr.io/alehechka/streamr:amd64

arm/v7
docker pull ghcr.io/alehechka/streamr:arm

To run the Docker image, it is required to mount a volume to the container to be able to retain any media upload via the upload process on the frontend. This can done when starting the container as follows:

amd64
docker run -d --rm -p 8080:8080 -v path/to/media:/app/media ghcr.io/alehechka/streamr:amd64

arm/v7
docker run -d --rm -p 8080:8080 -v ~/path/to/media:/app/media ghcr.io/alehechka/streamr:arm

Backend: Written in GoLang with gin and ffmpeg for media file conversion.

Frontend: Written in TypeScript with React and styled-components for CSS.

Local development

The frontend and backend must be run concurrently while in development.

For local development or build, it is necessary to download (ffmpeg)[https://www.ffmpeg.org/] and add the path to the bin file inside to your OS's environment PATH.

Frontend

cd client

yarn install

yarn start

While developing the frontend, the app will automatically proxy axios requests to the backend running at: http://localhost:8080

Backend

cd server

yarn get

yarn start

Backend uses gin to reload files on save. Globally install with:

go get github.com/codegangsta/gin

Local build

In a more production ready standpoint, the React app is built and added to the folder structure of the GoLang server and hosted as static files via the http server. This can be automated by running the following at the root of the repository:

yarn local:build

yarn local:run

streamr's People

Contributors

alehechka avatar

Stargazers

Matt McElwee avatar

Watchers

James Cloos avatar  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.