> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/OpenCut-app/OpenCut/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick start

> Get OpenCut running locally in under 5 minutes

## Get started in three steps

This guide will get you from zero to editing your first video in OpenCut as quickly as possible.

<Steps>
  <Step title="Install prerequisites">
    Install Bun, the JavaScript runtime and package manager used by OpenCut:

    <CodeGroup>
      ```bash macOS/Linux theme={null}
      curl -fsSL https://bun.sh/install | bash
      ```

      ```bash Windows theme={null}
      powershell -c "irm bun.sh/install.ps1 | iex"
      ```
    </CodeGroup>

    <Tip>
      Bun is like npm or yarn but faster. If you already have Node.js installed, you can also use npm, but Bun is recommended for the best experience.
    </Tip>

    <Accordion title="Optional: Install Docker for full features">
      Docker is optional but recommended if you want authentication and project saving features. For frontend-only editing features, you can skip Docker.

      * **Docker Desktop**: [Download here](https://docs.docker.com/get-docker/)
      * **Docker Compose**: Included with Docker Desktop

      If you skip Docker, you can still use OpenCut for editing, but user accounts and cloud sync won't work.
    </Accordion>
  </Step>

  <Step title="Clone and setup">
    Clone the repository and install dependencies:

    ```bash theme={null}
    # Clone the repository
    git clone https://github.com/OpenCut-app/OpenCut.git
    cd OpenCut

    # Copy environment file
    cp apps/web/.env.example apps/web/.env.local

    # Install dependencies
    bun install
    ```

    <Accordion title="With Docker: Start services">
      If you installed Docker, start the database and Redis:

      ```bash theme={null}
      docker compose up -d db redis serverless-redis-http
      ```

      This starts:

      * **PostgreSQL** database on port 5432
      * **Redis** cache on port 6379
      * **Serverless Redis HTTP** adapter on port 8079

      <Info>
        The `.env.example` file has sensible defaults that match the Docker Compose config. It should work out of the box.
      </Info>
    </Accordion>
  </Step>

  <Step title="Start editing">
    Start the development server:

    ```bash theme={null}
    bun dev:web
    ```

    Open [http://localhost:3000](http://localhost:3000) in your browser and start editing!

    <Check>
      **You're all set!** OpenCut is now running locally. Try importing a video and exploring the timeline editor.
    </Check>
  </Step>
</Steps>

## Verify installation

Once OpenCut is running, you should see:

* The OpenCut homepage at `http://localhost:3000`
* An empty project timeline ready for editing
* The ability to import media files

If you encounter issues:

<AccordionGroup>
  <Accordion title="Port 3000 already in use">
    If port 3000 is already in use, you can change it:

    ```bash theme={null}
    PORT=3001 bun dev:web
    ```

    Or kill the process using port 3000:

    ```bash theme={null}
    # macOS/Linux
    lsof -ti:3000 | xargs kill

    # Windows
    netstat -ano | findstr :3000
    taskkill /PID <PID> /F
    ```
  </Accordion>

  <Accordion title="Bun command not found">
    Make sure Bun is in your PATH. After installation, restart your terminal or run:

    ```bash theme={null}
    # macOS/Linux
    source ~/.bashrc  # or ~/.zshrc

    # Windows
    # Restart PowerShell
    ```
  </Accordion>

  <Accordion title="Database connection errors">
    If you're seeing database errors:

    1. Make sure Docker is running: `docker ps`
    2. Check if the database container is healthy: `docker compose ps`
    3. Verify the `DATABASE_URL` in `apps/web/.env.local` matches the Docker config

    Default value:

    ```bash theme={null}
    DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut"
    ```
  </Accordion>
</AccordionGroup>

## Next steps

Now that OpenCut is running:

<CardGroup cols={2}>
  <Card title="Explore features" icon="compass" href="/features/timeline-editing">
    Learn about timeline editing, multi-track support, and more
  </Card>

  <Card title="Keyboard shortcuts" icon="keyboard" href="/features/keyboard-shortcuts">
    Speed up your workflow with keyboard shortcuts
  </Card>

  <Card title="Full installation" icon="download" href="/installation">
    See detailed installation options including self-hosting
  </Card>

  <Card title="Contributing" icon="code-branch" href="/development/contributing">
    Help improve OpenCut by contributing code or reporting bugs
  </Card>
</CardGroup>

## Available scripts

Here are the most useful commands for development:

```bash theme={null}
# Start web app in development mode
bun dev:web

# Build web app for production
bun build:web

# Run linting
bun run lint:web

# Fix linting issues
bun run lint:web:fix

# Format code
bun run format:web

# Run tests
bun test
```

<Tip>
  The development server supports hot module replacement (HMR), so your changes will appear instantly without refreshing the page.
</Tip>
