How to Install RedditVideoMakerBot on Linux: Complete Setup Guide

Run bash <(curl -sL https://raw.githubusercontent.com/elebumm/RedditVideoMakerBot/master/install.sh) to automate the entire process, or manually clone the repo, create a Python 3.10 virtual environment, install dependencies from requirements.txt, and execute python main.py to generate your first Reddit video.

RedditVideoMakerBot is a pure-Python application that converts Reddit threads into short-form videos using text-to-speech and automated screenshot capture. Installing the bot on Linux distributions like Ubuntu, Debian, or Fedora requires Python 3.10+, Playwright browser binaries, and FFmpeg for video encoding. According to the elebumm/RedditVideoMakerBot source code, the installation workflow is identical across Unix-like systems thanks to the cross-platform install.sh script.

Prerequisites for Linux Installation

Before you install RedditVideoMakerBot on Linux, ensure your system meets these requirements:

  • Python 3.10, 3.11, or 3.12 – The version check in main.py explicitly aborts execution if it detects older Python interpreters.
  • Git – Required to clone the repository and receive future updates.
  • Build tools – Some distributions require build-essential (Ubuntu/Debian) or gcc to compile certain Python dependencies listed in requirements.txt.

The repository includes install.sh, a Bash script that automates the full setup on Linux. This script handles repository cloning, virtual environment creation, and system dependency installation.

Execute the following command in your terminal:

bash <(curl -sL https://raw.githubusercontent.com/elebumm/RedditVideoMakerBot/master/install.sh)

The script performs these actions defined in the source code:

  1. Validates Python 3.10+ availability
  2. Creates a virtual environment in ./venv
  3. Installs packages from requirements.txt (including praw, playwright, and ffmpeg-python)
  4. Runs python -m playwright install to download browser binaries
  5. Executes python -m playwright install-deps to install system libraries (e.g., libxcb, libx11) required for headless browsing

Method 2: Manual Installation

For users who prefer granular control or need to troubleshoot specific components, follow these steps to manually install RedditVideoMakerBot on Linux:


# Clone the repository

git clone https://github.com/elebumm/RedditVideoMakerBot.git
cd RedditVideoMakerBot

# Create and activate a Python 3.10+ virtual environment

python3 -m venv ./venv
source ./venv/bin/activate

# Install Python dependencies

pip install -r requirements.txt

# Install Playwright browsers and Linux system dependencies

python -m playwright install
python -m playwright install-deps

Installing FFmpeg

The bot requires FFmpeg for video encoding. You can either let the bot handle this automatically or install it via your distribution's package manager:

Option A: Automatic installation (via bot)

python -c "import utils.ffmpeg_install as f; f.ffmpeg_install()"

This invokes ffmpeg_install() from utils/ffmpeg_install.py, which downloads a static FFmpeg binary to the project directory.

Option B: System package manager


# Ubuntu/Debian

sudo apt update && sudo apt install ffmpeg

# Fedora

sudo dnf install ffmpeg

# Arch Linux

sudo pacman -S ffmpeg

Configuration and First Run

After installation, run the bot to trigger the interactive configuration workflow:

python main.py

During the initial execution, main.py imports utils/settings.py to create config.toml. The settings.py module validates every input, including:

  • Reddit API credentials (client ID, client secret)
  • Text-to-speech provider selection
  • Background video preferences

The configuration persists in the project root, and subsequent runs load values automatically from this file.

Running the Bot

Once configured, you can generate videos using several methods supported by main.py:

Generate a single video from a random thread:

python main.py

Generate a video from a specific Reddit post:

python main.py <POST_ID>

This passes the ID to reddit/subreddit.py:get_subreddit_threads, which fetches the specific thread data for processing.

Batch processing multiple videos: Edit config.toml to set settings.times_to_run = 5, then run python main.py. Alternatively, call programmatically:

from main import run_many
run_many(5)

Summary

  • Python 3.10+ is mandatory – The version check in main.py prevents execution on older interpreters.
  • Use the automated scriptinstall.sh handles Linux setup identically to macOS, installing all Playwright dependencies automatically.
  • Manual installation requires four steps – Clone, create venv, install requirements, then run playwright install-deps.
  • FFmpeg installation is flexible – Use utils/ffmpeg_install.py for automatic setup or your system package manager for global installation.
  • First-run configuration creates config.toml through interactive prompts in utils/settings.py.

Frequently Asked Questions

What Python version is required for RedditVideoMakerBot on Linux?

RedditVideoMakerBot requires Python 3.10, 3.11, or 3.12. The entry point in main.py contains a version check that aborts immediately if it detects Python 3.9 or older, ensuring compatibility with the async and type-hint patterns used throughout the codebase.

Can I install RedditVideoMakerBot without root privileges?

Yes. The installation process uses a Python virtual environment (python3 -m venv ./venv) and installs all dependencies locally within the project directory. The only exception is if you choose to install FFmpeg via apt or dnf system packages rather than using the automatic downloader in utils/ffmpeg_install.py.

Why does Playwright require system dependencies on Linux?

Playwright controls headless Chromium browsers to capture Reddit screenshots, which requires low-level system libraries like libxcb and libx11. Running python -m playwright install-deps (executed automatically by install.sh) installs these libraries via your distribution's package manager without manual intervention.

How do I update RedditVideoMakerBot after installation?

Navigate to the project directory and pull the latest changes with git pull, then update Python dependencies using pip install -r requirements.txt --upgrade. If the update includes new Playwright versions, re-run python -m playwright install to update the browser binaries.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →