Skip to main content

Installation

OfficePlane can be run via Docker (recommended) or locally for development.

Docker handles all dependencies — PostgreSQL, Redis, LibreOffice, and Python packages.

git clone https://github.com/officeplane/officeplane
cd officeplane
docker compose up -d

Source code is mounted into the container, so code changes auto-reload without rebuilding.

First-time setup

# Install Pillow for image processing (first time after build)
docker exec officeplane-api pip install Pillow

View logs

docker logs -f officeplane-api

Rebuild (when dependencies change)

Only needed when pyproject.toml or Dockerfile changes:

docker compose build api --no-cache
docker compose up -d api
docker exec officeplane-api pip install Pillow

Option B: Local Development

Requirements

  • Python 3.10+
  • Node.js 18+
  • PostgreSQL 16 with pgvector extension
  • Redis 7
  • LibreOffice (for DOCX-to-PDF conversion)

Backend

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -e ".[dev]"

# Run the API server
uvicorn officeplane.api.main:app --host 0.0.0.0 --port 8001 --reload

Frontend

cd ui
npm install
npm run dev

The UI runs at http://localhost:3000.

LibreOffice Required for DOCX

When running the API locally without LibreOffice installed, DOCX-to-PDF conversion will fail. Either install LibreOffice or use Docker for the API service.

Services Overview

┌─────────────────────────────────────────────────────────────┐
│ docker compose up -d │
├──────────────┬───────────────┬──────────────┬───────────────┤
│ API │ UI │ PostgreSQL │ Redis │
│ :8001 │ :3000 │ :5433 │ :6379 │
│ FastAPI │ Next.js │ pgvector │ Queue + │
│ + Workers │ + React │ + embeddings│ Pub/Sub │
└──────────────┴───────────────┴──────────────┴───────────────┘