Get your VIMM framework up and running in under 30 minutes with this comprehensive guide.
Before starting, ensure you have the following installed:
# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
# macOS (with Homebrew)
brew install ffmpeg
# For NVIDIA GPU support (Ubuntu)
sudo apt install nvidia-cuda-toolkitCreate a directory for your VIMM deployment and clone all three components:
mkdir vimm-deployment
cd vimm-deployment
# Clone VIMM Core (streaming server)
git clone https://github.com/VIMM-TV/vimm-core.git
# Clone VIMM Frontend (web interface)
git clone https://github.com/VIMM-TV/vimm-frontend.git
# Clone VIMM Chat (chat server)
git clone https://github.com/VIMM-TV/vimm-chat.gitEach component requires environment configuration. Create the necessary `.env` files:
cd vimm-core
# Create .env file (no .env.example provided in v1.0.0)Create a .env file in the vimm-core directory with the following required variables:
# Required Variables
JWT_SECRET=your-strong-secret-key-here
HIVE_POSTING_KEY=your-hive-posting-key
# Optional Variables
SERVER_URL=http://localhost:3000
NODE_ENV=developmentConfiguration files are located in the config/ directory:
The frontend is a React 19 application that connects to both VIMM Core and VIMM Chat servers. It requires Hive Keychain browser extension for authentication.
cd ../vimm-frontend
cp .env.example .env# Server Endpoints (adjust to your deployment)
REACT_APP_VIMM_CHAT_SERVER=http://localhost:3001
REACT_APP_VIMM_CORE_SERVER=http://localhost:3000
# Optional: Override default ports
PORT=3002Users must install the Hive Keychain browser extension to authenticate and interact with the VIMM platform. This is required for following, chatting, and streaming.
cd ../vimm-chat
cp .env.example .env# Chat Server Configuration
PORT=3001
CORE_API_URL=http://localhost:3000
# WebSocket Settings
WS_PORT=3001
CORS_ORIGIN=http://localhost:3002Install the required dependencies for each component:
# Install VIMM Core dependencies
cd vimm-core
npm install
# Install VIMM Frontend dependencies
cd ../vimm-frontend
npm install
# Install VIMM Chat dependencies
cd ../vimm-chat
npm installVIMM Core uses Sequelize ORM with SQLite by default. Initialize the database with these commands:
cd vimm-core
npm run init-dbFor dashboard analytics features, also create the dashboard tables:
node scripts/create-dashboard-tables.jsThe dashboard tables enable stream statistics, follower growth tracking, and ban management. For production, set up a daily cron job: node scripts/snapshot-follower-growth.js
Start each service in separate terminal windows. The order matters:
cd vimm-core
npm startcd vimm-chat
npm startcd vimm-frontend
npm startCheck that all services are running correctly:
Test the VIMM Core API with these endpoints:
# Test authentication challenge endpoint
curl http://localhost:3000/api/auth/challenge
# List active streams
curl http://localhost:3000/api/streams
# Check database connection
# The server should start without errors and log "Database synced"Your VIMM framework is now running! Access the frontend at http://localhost:3002 to explore streams, authenticate with Hive Keychain, and configure your channel for streaming.
rtmp://localhost:1935/live/YOUR_STREAM_KEYconfig/hive.jsFor development, you can use npm run dev instead of npm start for hot reloading.