Files
meet/docs/developping_locally.md
Arnaud Robin e04d9a9dab 📝(doc) update README to engage users
Revamp README to be more engaging and informative.

Goal: Foster a true open-source spirit by making it easier for
contributors to engage, interact, and contribute.

Heavily inspired by PostHog's excellent README.
2025-03-13 19:48:31 +01:00

4.1 KiB
Raw Blame History

Getting Started

Before setting up, let's review Visio's architecture.

Visio consists of four main components that run simultaneously:

  • React frontend, built with Vite.js
  • Django server
  • LiveKit server
  • FastAPI server (optional, required for AI beta features)

These components rely on a few key services:

  • PostgreSQL for storing data (users, rooms, recordings)
  • Redis for caching and inter-service communication
  • MinIO for storing files (room recordings)
  • Celery workers for meeting transcript (optional, required for AI beta features)

We provide two stack options for getting Visio up and running for development:

  • Docker Compose stack (recommended for most users)
  • Kubernetes stack powered by Tilt (Advanced)

We recommend starting with the Docker Compose option for simplicity. However, if you're comfortable with running Kubernetes locally, the advanced option mirrors the production environment and provides most of the tools required for development (e.g., hot reloading).

These instructions are for macOS or Ubuntu. For other distros, adjust as needed.

If any steps are outdated, please let us know!


We also provide GNU make utilities. To view all available Make rules, run:

$ make help

Need Help?

If you need any assistance or have questions while getting started, feel free to reach out to @lebaudantoine anytime! Antoine is available to help you onboard and guide you through the process. Chat with him @antoine.lebaud:matrix.org, or from the support hotline.


Option 1: Developing with Docker

Prerequisites

  1. Ensure you have a recent version of Docker and Docker Compose installed:
$ docker -v
Docker version 20.10.2, build 2291f61

$ docker compose version
Docker Compose version v2.32.4
  1. Install LiveKit CLI by following the instructions available in the official repository. After installation, verify that it's working:
$ lk --version
lk version 2.3.1

Project Bootstrap

  1. Bootstrap the project using the Make command. This will build the app container, install dependencies, run database migrations, and compile translations:
$ make bootstrap FLUSH_ARGS='--no-input'
  1. Access the project:

Developing

  • To stop the application:
$ make stop
  • To restart the application:
$ make run
  • For frontend development, start all backend services without the frontend container:
$ make run-backend

Then:

$ make frontend-development-install
$ make run-frontend-development

Which is equivalent to these direct npm commands:

$ cd src/frontend
$ npm i
$ npm run dev

Adding Content

You can bootstrap demo data with a single command:

$ make demo

Option 2: Developing with Kubernetes

Visio is deployed across staging, preprod, and production environments using Kubernetes (K8s). Reproducing the environment locally is crucial for developing new features or debugging.

This is facilitated by Tilt, which provides Kubernetes-like development for local environments, enabling smart rebuilds and live updates.

Getting Started

Make sure you have the following installed:

  • kubectl
  • helm
  • helmfile
  • tilt

To build and start the Kubernetes cluster using Kind:

$ make build-k8s-cluster 

Once the Kubernetes cluster is ready, start the application stack locally:

$ make start-tilt-keycloak

Monitor Tilts progress at http://localhost:10350/. After Tilt actions finish, you can access the app at https://visio.127.0.0.1.nip.io/.