Where the Code Lives
Owncast is spread across a few repositories. Knowing which one holds what saves a lot of searching.
The main repositoryโ
Almost everything lives in owncast/owncast:
- The backend is written in Go and sits at the repository root. It runs the video pipeline, the web server and APIs, chat, the fediverse integration, and more.
- The frontend is in the web/ directory. It is a React and Next.js application that includes the video player, chat, embeddable components, and the admin interface.
If you are changing how Owncast behaves or how it looks, you are almost certainly working here.
This websiteโ
The site you are reading, including the user documentation, the marketing pages, and these developer docs, is in owncast.github.io. It is built with Docusaurus.
Pluginsโ
Owncast supports plugins written in JavaScript or TypeScript and in Python. The plugin documentation is the place to start if you want to extend a server without changing its source.
Everything elseโ
The public directory of live streams and the mobile apps each have their own repositories. Browse the Owncast organization on GitHub for the full list.
I want to change...โ
| You want to work on | Look in |
|---|---|
| The player, chat UI, or admin | web/ in the main repo |
| Video, RTMP, chat server, APIs, or fediverse | the Go backend at the repo root |
| These docs or the marketing site | owncast.github.io |
| A plugin | the plugin documentation for your language |