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.
4.1 KiB
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
- 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
- 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
- Bootstrap the project using the Make command. This will build the
appcontainer, install dependencies, run database migrations, and compile translations:
$ make bootstrap FLUSH_ARGS='--no-input'
- Access the project:
- The frontend is available at http://localhost:3000 with the default credentials:
- username: meet
- password: meet
- The Django backend is available at http://localhost:8071
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 Tilt’s progress at http://localhost:10350/. After Tilt actions finish, you can access the app at https://visio.127.0.0.1.nip.io/.