Skip to content

teamgeek-io/streamgeek

Repository files navigation

Streamgeek

POC for rolling our own video streaming! πŸŽ₯πŸš€πŸ”₯

  • Vite
  • database (Prisma via D1)
  • Auth (better auth)
  • Storage (via R2)
  • Transcoding agents (node + ffmpeg + docker)

Setup / Deployment

Get going with your own video hosting quick n' easy!

Prerequisits

  • A cloudflare account with a domain
  • A computer/server/vps for transcoding agent with Docker installed and a public https reverse proxy

Wrangler Setup

Within your project's wrangler.jsonc:

  • Replace the __change_me__ placeholders with a name for your application

  • Create a new D1 database:

pnpx wrangler d1 create my-project-db

Copy the database ID provided and paste it into your project's wrangler.jsonc file:

{
  "d1_databases": [
    {
      "binding": "DB",
      "database_name": "my-project-db",
      "database_id": "your-database-id"
    }
  ]
}

Development

First things first πŸš€

Copy the example env to env.local:

cp .env.example .env

Ensure you have fnm or nvm installed

Install the node version:

nvm install

# OR

fnm install

Enable pnpm:

corepack enable

πŸ›‘ STOP πŸ‘‰ Ensure that you're using pnpm and NOT any other package manager 🀭

Then, install deps:

pnpm i

Running the main app

pnpm run dev

Running the agent app

Install ffmpeg on your system

brew install ffmpeg

Copy .env.dev.example to .env in the /src/agent route

cp .env.dev.example .env

Get cookin!

pnpm run agent:dev

About

POC for rolling our own video streaming! πŸŽ₯πŸš€πŸ”₯

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages