# How to Install RedditVideoMakerBot on Linux: Complete Setup Guide

> Easily install RedditVideoMakerBot on Linux with our complete setup guide. Automate installation or follow manual steps to create your first Reddit video.

- Repository: [Lewis Menelaws/RedditVideoMakerBot](https://github.com/elebumm/RedditVideoMakerBot)
- Tags: how-to-guide
- Published: 2026-04-08

---

**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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/requirements.txt).

## Method 1: Automated Installation (Recommended)

The repository includes [`install.sh`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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
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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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:

```bash

# 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)**

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

```

This invokes `ffmpeg_install()` from [`utils/ffmpeg_install.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/ffmpeg_install.py), which downloads a static FFmpeg binary to the project directory.

**Option B: System package manager**

```bash

# 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:

```bash
python main.py

```

During the initial execution, [`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) imports [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py) to create [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml). The [`settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py):

**Generate a single video from a random thread:**

```bash
python main.py

```

**Generate a video from a specific Reddit post:**

```bash
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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) to set `settings.times_to_run = 5`, then run `python main.py`. Alternatively, call programmatically:

```python
from main import run_many
run_many(5)

```

## Summary

- **Python 3.10+ is mandatory** – The version check in [`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) prevents execution on older interpreters.
- **Use the automated script** – [`install.sh`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/install.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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/ffmpeg_install.py) for automatic setup or your system package manager for global installation.
- **First-run configuration** creates [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) through interactive prompts in [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/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.