| title | Local Development |
|---|---|
| description | Guide for developing Openinary locally |
- **Node.js**: Version 18.0.0 or higher
```bash
node --version # Should be >= 18.0.0
```
- **pnpm**: Version 9.0.0 or higher
```bash
# Install pnpm if not already installed
npm install -g pnpm@9.0.0
# Verify installation
pnpm --version
```
- **FFmpeg**: Required for video processing
<CodeGroup>
```bash macOS
brew install ffmpeg
```
```bash Windows
# Download a Windows build from:
# https://ffmpeg.org/download.html#build-windows
```
```bash Linux (Ubuntu/Debian)
sudo apt-get install ffmpeg
```
```bash Linux (Fedora)
sudo dnf install ffmpeg
```
```bash Verify installation
ffmpeg -version
```
</CodeGroup>
- **Cloud Storage Credentials**: Only required if using cloud storage mode (AWS S3 or Cloudflare R2)
- For local development, files can be placed in `apps/api/public/`
- See [Storage configuration](/configuration) for cloud setup
Clone Openinary and move into the project directory:
git clone https://github.com/openinary/openinary.git
cd openinaryInstall all dependencies:
pnpm installStart both the API and frontend:
pnpm devThis will start both the API and frontend simultaneously.
Run the API and frontend separately:
pnpm dev:api
pnpm dev:webYou can also run Openinary using Docker Compose. This is useful if you want to avoid installing dependencies locally or need isolated environments.
Start both the API and frontend with Docker:
docker compose --profile full up --buildStart only the API service:
docker compose --profile api up --build