Skip to content

ViewTube is a video sharing platform

Notifications You must be signed in to change notification settings

ViewTubeApp/viewtube

Repository files navigation

  _    ___              ______      __
 | |  / (_)__ _      __/_  __/_  __/ /_  ___
 | | / / / _ \ | /| / // / / / / / __ \/ _ \
 | |/ / /  __/ |/ |/ // / / /_/ / /_/ /  __/
 |___/_/\___/|__/|__//_/  \__,_/_.___/\___/

A modern video streaming platform built with the T3 Stack, designed to run on Docker Swarm.

🛠️ Tech Stack

📋 Prerequisites

  • Node.js 22.x or later
  • Bun 1.2.5 or later
  • GNU Make

🚀 Quick Start

  1. Clone the repository

    git clone https://github.com/viewtubeapp/viewtube.git
    cd viewtube
  2. Install dependencies

    bun install
  3. Set up environment variables

    cp .env.example .env

    Edit .env with your configuration (see Environment Variables section below)

  4. Start development environment

    bun run dev
  5. Access the application

🔧 Environment Variables

Application Settings

Variable Description Required Default
NEXT_PUBLIC_URL Public URL of the web application Yes -
NEXT_PUBLIC_BRAND Brand name for the application Yes -
NEXT_PUBLIC_NODE_ENV Next.js environment No -
NEXT_PUBLIC_GIT_COMMIT_HASH Git commit hash No -

Server

Variable Description Required Default
ANALYZE Enable bundle analysis No -
NODE_ENV Node environment No -
GIT_COMMIT_HASH Git commit hash No -

Task Runner (Trigger.dev)

Variable Description Required Default
TRIGGER_SECRET_KEY Trigger.dev API key Yes -
TRIGGER_ACCESS_TOKEN Trigger.dev access token (used in GitHub Actions) Yes -

Analytics (PostHog)

Variable Description Required Default
NEXT_PUBLIC_POSTHOG_KEY PostHog key for analytics Yes -
NEXT_PUBLIC_POSTHOG_HOST PostHog host for analytics Yes -

UploadThing

Variable Description Required Default
UPLOADTHING_TOKEN UploadThing token Yes -
NEXT_PUBLIC_UPLOADTHING_APP_ID UploadThing app ID Yes -

Authentication (Clerk)

Variable Description Required Default
CLERK_SECRET_KEY Secret key for Clerk Yes -
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY Publishable key for Clerk Yes -

Database (PostgreSQL)

Variable Description Required Default
DATABASE_HOST Database host Yes -
DATABASE_URL Database URL No -
DATABASE_USERNAME Database username Yes -
DATABASE_PASSWORD Database password Yes -

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🙏 Acknowledgments

  • T3 Stack for the amazing foundation
  • All contributors who have helped this project grow

About

ViewTube is a video sharing platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •