### Server SDKs
Server SDKs enable your backend to generate [access tokens](https://docs.livekit.io/guides/access-tokens/),
call [server APIs](https://docs.livekit.io/guides/server-api/), and
receive [webhooks](https://docs.livekit.io/guides/webhooks/). In addition, the Go SDK includes client capabilities,
enabling you to build automations that behave like end-users.
| Language | Repo | Docs |
|:------------------------|:----------------------------------------------------------------------------------------------------|:------------------------------------------------------------|
| Go | [server-sdk-go](https://github.com/livekit/server-sdk-go) | [docs](https://pkg.go.dev/github.com/livekit/server-sdk-go) |
| JavaScript (TypeScript) | [server-sdk-js](https://github.com/livekit/server-sdk-js) | [docs](https://docs.livekit.io/server-sdk-js/) |
| Ruby | [server-sdk-ruby](https://github.com/livekit/server-sdk-ruby) | |
| Java (Kotlin) | [server-sdk-kotlin](https://github.com/livekit/server-sdk-kotlin) | |
| Python (community) | [tradablebits/livekit-server-sdk-python](https://github.com/tradablebits/livekit-server-sdk-python) | |
| PHP (community) | [agence104/livekit-server-sdk-php](https://github.com/agence104/livekit-server-sdk-php) | |
### Ecosystem & Tools
- [CLI](https://github.com/livekit/livekit-cli) - command line interface & load tester
- [Egress](https://github.com/livekit/egress) - export and record your rooms
- [Ingress](https://github.com/livekit/ingress) - ingest streams from RTMP / OBS Studio
- [Docker image](https://hub.docker.com/r/livekit/livekit-server)
- [Helm charts](https://github.com/livekit/livekit-helm)
## Install
We recommend installing [livekit-cli](https://github.com/livekit/livekit-cli) along with the server. It lets you access
server APIs, create tokens, and generate test traffic.
### MacOS
```shell
brew install livekit
```
### Linux
```shell
curl -sSL https://get.livekit.io | bash
```
### Windows
Download the [latest release here](https://github.com/livekit/livekit/releases/latest)
## Getting Started
### Starting LiveKit
Start LiveKit in development mode by running `livekit-server --dev`. It'll use a placeholder API key/secret pair.
```
API Key: devkey
API Secret: secret
```
To customize your setup for production, refer to our [deployment docs](https://docs.livekit.io/deploy/)
### Creating access token
A user connecting to a LiveKit room requires an [access token](https://docs.livekit.io/guides/access-tokens/). Access
tokens (JWT) encode the user's identity and the room permissions they've been granted. You can generate a token with our
CLI:
```shell
livekit-cli create-token \
--api-key devkey --api-secret secret \
--join --room my-first-room --identity user1 \
--valid-for 24h
```
### Test with example app
Head over to our [example app](https://example.livekit.io) and enter a generated token to connect to your LiveKit
server. This app is built with our [React SDK](https://github.com/livekit/livekit-react).
Once connected, your video and audio are now being published to your new LiveKit instance!
### Simulating a test publisher
```shell
livekit-cli join-room \
--url ws://localhost:7880 \
--api-key devkey --api-secret secret \
--room my-first-room --identity bot-user1 \
--publish-demo
```
This command publishes a looped demo video to a room. Due to how the video clip was encoded (keyframes every 3s),
there's a slight delay before the browser has sufficient data to begin rendering frames. This is an artifact of the
simulation.
## Deployment
### Use LiveKit Cloud
LiveKit Cloud is the fastest and most reliable way to run LiveKit. Every project gets free monthly bandwidth and
transcoding credits.
Sign up for [LiveKit Cloud](https://cloud.livekit.io/).
### Self-host
Read our [deployment docs](https://docs.livekit.io/deploy/) for more information.
## Building from source
Pre-requisites:
- Go 1.20+ is installed
- GOPATH/bin is in your PATH
Then run
```shell
git clone https://github.com/livekit/livekit
cd livekit
./bootstrap.sh
mage
```
## Contributing
We welcome your contributions toward improving LiveKit! Please join us
[on Slack](http://livekit.io/join-slack) to discuss your ideas and/or PRs.
## License
LiveKit server is licensed under Apache License v2.0.