Skip to content

Commit db9e093

Browse files
Updated docs (#1416)
* Add docusaurus setup * Add static resources * Write docs pages * Implement versioning, fix broken links and add changelog page * Update self-streaming guide and README * Add GitHub Actions workflow for deploying landing page to GitHub Pages * Fix CI/CD * Fix CI/CD * Update GitHub Actions workflow for deploying documentation to GitHub Pages * Fix CI/CD * Update base URL * Add algolia docsearch support * Update deployment branch * Update phrasing * Manually trigger new deployment * Add branch restrictions * Update deploy-docs.yaml * Create CNAME * Update deploy-docs.yaml * Update deployment config * Re-add deployment branch restrictions * Update docusaurus.config.js * Update intro.md
1 parent ad03955 commit db9e093

File tree

115 files changed

+22064
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+22064
-0
lines changed

.github/workflows/deploy-docs.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Deploy Docs to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- dev
7+
pull_request:
8+
branches:
9+
- dev
10+
# Review gh actions docs if you want to further define triggers, paths, etc
11+
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
12+
13+
jobs:
14+
build:
15+
name: Build Docusaurus
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: 18
24+
25+
- name: Install dependencies
26+
run: npm install
27+
working-directory: ./docs_v2
28+
- name: Build website
29+
run: npm run build
30+
working-directory: ./docs_v2
31+
32+
- name: Upload Build Artifact
33+
uses: actions/upload-pages-artifact@v3
34+
with:
35+
path: ./docs_v2/build
36+
37+
deploy:
38+
name: Deploy to GitHub Pages
39+
needs: build
40+
if: github.ref == 'refs/heads/dev'
41+
42+
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
43+
permissions:
44+
pages: write # to deploy to Pages
45+
id-token: write # to verify the deployment originates from an appropriate source
46+
47+
# Deploy to the github-pages environment
48+
environment:
49+
name: github-pages
50+
url: ${{ steps.deployment.outputs.page_url }}
51+
52+
runs-on: ubuntu-latest
53+
steps:
54+
- name: Deploy to GitHub Pages
55+
id: deployment
56+
uses: actions/deploy-pages@v4

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docs.live.rbg.tum.de

docs_v2/.gitignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
w# Dependencies
2+
/node_modules
3+
4+
# Production
5+
/build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*
21+
22+
.vercel

docs_v2/LICENSE

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

docs_v2/README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# GoCast Docs
2+
3+
Contains the new docs for GoCast.
4+
5+
A prototype can be found [here](https://tumlive-docs.pages.dev/).
6+
7+
## Getting started
8+
9+
To start the development server, run:
10+
11+
```bash
12+
npm run dev
13+
```
14+
15+
To build the project site **for production**, run:
16+
17+
```bash
18+
npm run build
19+
```
20+
21+
> The static files are generated in the `build` folder.
22+
23+
To start the production server, run:
24+
25+
```bash
26+
npm run start
27+
```
28+
29+
## How to add a new page
30+
31+
To add a new page, create a new markdown file in the `docs` directory. The file should have the following structure:
32+
33+
```markdown
34+
---
35+
title: Page Title
36+
---
37+
38+
# Page Title
39+
40+
Page content goes here.
41+
```
42+
43+
The `title` field in the front matter is used to generate the page title in the sidebar.
44+
45+
## How to add a new section
46+
47+
To add a new section, create a new directory in the `docs` directory. Inside the directory, create a markdown file for each page in the section. The directory should have an `index.md` file with the following structure:
48+
49+
```markdown
50+
---
51+
title: Section Title
52+
---
53+
54+
# Section Title
55+
56+
Section description goes here.
57+
```
58+
59+
The `title` field in the front matter is used to generate the section title in the sidebar.
60+
61+
## How to add a new sidebar item
62+
63+
To add a new sidebar item, edit the `sidebar.json` file in the `data` directory. The file should have the following structure:
64+
65+
```json
66+
[
67+
{
68+
"title": "Section Title",
69+
"children": [
70+
{
71+
"title": "Page Title",
72+
"slug": "page-slug"
73+
}
74+
]
75+
}
76+
]
77+
```
78+
79+
The `title` field is used to generate the section title in the sidebar. The `children` field is an array of sidebar items. Each sidebar item should have a `title` field and a `slug` field. The `title` field is used to generate the page title in the sidebar. The `slug` field is used to generate the page URL.
80+
81+
## More information
82+
83+
For more information, see the official Docusaurus docs [here](https://docusaurus.io/docs).
84+
85+
86+
87+
## Credit
88+
89+
https://docusaurus.io \
90+
https://github.com/facebook/docusaurus

docs_v2/babel.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3+
};

docs_v2/blog/changelogs/v1.2.26.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: "V1.2.26"
3+
date: 2023-04-23T08:20:06+02:00
4+
draft: false
5+
summary: "This release contains the feature of downloads from the Edge servers and the use of MediaMTX for selfstreams. It also contains some bugfixes."
6+
tags: [feature, bugfix, misc]
7+
---
8+
9+
Changes in this release:
10+
11+
## Features
12+
13+
- [allow mp4 downloads from HLS Edge server](https://github.com/joschahenningsen/TUM-Live/pull/931) by [@joschahenningsen](https://github.com/joschahenningsen)
14+
- Video files are now downloaded from the edge server instead of pulling the mp4 file from the mass storage.
15+
This step helps us get rid of the dependence of video files in the mass storage, thus saving 50% disk space.
16+
The long term goal is to only store HLS segments and discard the mp4 files after they have been converted to a HLS stream.
17+
- [Use MediaMTX for Selfstreams](https://github.com/joschahenningsen/TUM-Live/pull/994) by [@joschahenningsen](https://github.com/joschahenningsen)
18+
- Selfstreams are now delivered to the worker using [MediaMTX](https://github.com/aler9/mediamtx).
19+
This package has proven to be more reliable and much more actively maintained than nginx with the rtmp module.
20+
- MediaMTX is now also embedded in the docker container of the worker. This allows easier deployment and self-streaming to any worker.
21+
22+
---
23+
24+
## Bugfixes
25+
26+
- [Fix chat replay message scrolling](https://github.com/joschahenningsen/TUM-Live/pull/996) by [@MatthiasReumann](https://github.com/MatthiasReumann)
27+
- When watching a video on demand with the chat following the stream times, the messages automatically scrolled to were offset
28+
by a bit and thus out of the visible area. This is now fixed.
29+
- [Fix Firefox file drop](https://github.com/joschahenningsen/TUM-Live/pull/999) by [@MatthiasReumann](https://github.com/MatthiasReumann)
30+
- Dropping files as lecture attatchments did not work in Firefox. This is now fixed.
31+
- [Fix skip silence button fadeout](https://github.com/joschahenningsen/TUM-Live/pull/995) by [@MatthiasReumann](https://github.com/MatthiasReumann)
32+
- The skip silence button would not fade out when the video was silent. This is now fixed.
33+
34+
---
35+
36+
## Misc
37+
38+
- [Update Node.js to v20](https://github.com/joschahenningsen/TUM-Live/pull/1003)

docs_v2/blog/changelogs/v1.2.27.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: "V1.2.27"
3+
date: 2023-04-24T20:56:06+02:00
4+
draft: false
5+
summary: "This release contains one small bugfix."
6+
tags: [bugfix]
7+
---
8+
9+
This release contains one small bugfix.
10+
11+
- [fix edge server tests and log import](https://github.com/joschahenningsen/TUM-Live/commit/04aa8ca42e32cd9684ee815e445902125981b5c5) by [@joschahenningsen](https://github.com/joschahenningsen)
12+
- This fixes an issue with the latest deployment where the wrong log package was imported in the Edge submodule.

docs_v2/blog/changelogs/v1.4.18.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "V1.4.18"
3+
date: 2024-05-06T20:56:06+02:00
4+
draft: false
5+
summary: "This release contains a few bug fixes and improvements. It also contains some new features and changes."
6+
tags: [bugfix, feature]
7+
---
8+
9+
This release contains a few bug fixes and improvements.
10+
It also contains some new features and changes.
11+
12+
Bugfixes:
13+
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1324) where the chat stops working after a too long message
14+
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1350) where the `watched` state of a VoD wasn't detected correctly
15+
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1340) where private VoDs were still listed publicly
16+
- [Skip silence button](https://github.com/TUM-Dev/gocast/pull/1326) not shown if you seek into the silence
17+
18+
Features:
19+
- You can now select, that the [beta mode](https://github.com/TUM-Dev/gocast/pull/1328) is your default mode
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: "Stream from your Lecture Hall"
3+
sidebar_position: 1
4+
description: "Automatic Broadcasting and Recording of Auditoriums"
5+
---
6+
7+
## Automatic Broadcasting and Recording of Auditoriums
8+
9+
With GoCast, you can easily stream your lectures to the internet. This allows students to follow the lecture from home
10+
or on the go. If you wish so, a recording of the lecture is also available for later viewing.
11+
12+
For this purpose, we have installed Streaming Media Processors (SMPs) in many lecture halls at TUM. These devices are
13+
capable of capturing the video and audio of the lecture and sending it to our servers for broadcasting.
14+
15+
For a guide on how to stream from a lecture hall, please refer to the [Lecture Hall Streaming Guide](/docs/usage/lecturehall-streaming.md).
16+
17+
---
18+
19+
# Self-Streaming using OBS, Zoom or other Software
20+
21+
You can also stream your lectures yourself with any streaming software you like. We recommend OBS for this purpose.
22+
23+
For instructions on how to self-stream, please refer to the [Self-Streaming Guide](/docs/usage/self-streaming.md).
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: "Video On Demand"
3+
sidebar_position: 2
4+
description: "Upload videos to the server and stream them to the students."
5+
---
6+
7+
# Video On Demand
8+
9+
Video On Demand (VoD) is a feature that allows you to upload videos to the server and stream them to the students. This
10+
feature is useful for hosting videos that you want to share with your students.
11+
12+
You can also record your live classes and get them automatically uploaded to the server. This way, students who missed
13+
the live class can watch the recording later.

docs_v2/docs/features/_category_.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"label": "Features",
3+
"position": 2,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Learn about the features of GoCast."
7+
}
8+
}
9+

docs_v2/docs/features/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
awdawd

docs_v2/docs/intro.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# GoCast
6+
7+
Deliver live events and recordings like it's the 21st century. - Privacy friendly, self-hosted and open-source.
8+
9+
![test](/img/showcase-01.png#showcase)
10+
11+
GoCast is a fully self-hosted platform for live-streaming and recording of lectures, in use at the Technical University of Munich as **[TUM-Live](https://live.rbg.tum.de)**.
12+
13+
## Quick facts
14+
15+
GoCast is
16+
17+
- **Widely used** at the Technical University of Munich and handles thousands of hours of video every semester for more than 150 courses and 15.000 Students.
18+
- **Open-source** and licensed under the [MIT license](https://github.com/tum-dev/gocast/blob/dev/LICENSE).
19+
- **Self-hosted**: You have full control over your data and can run GoCast on your own servers.
20+
21+
## Features
22+
23+
For a detailed list of features, refer to the [features section](/docs/features/LectureHallStreams/).
24+
25+
- Fully automatic Live-Streaming from Auditoriums based on lecture schedules.
26+
- Self-service interface for lecturers to schedule and manage their videos.
27+
- Automated import of lectures and enrollment of students from CAMPUSonline.
28+
- Self-streaming via OBS, Zoom, etc.
29+
- Automatic recording of live-streams.
30+
- Video on demand uploads.
31+
- Automatic post-processing of recordings.
32+
- Detects silence in videos and makes them skip-able.
33+
- Transcribes videos and makes them searchable.
34+
- Generates Thumbnails.
35+
- Live Chat for listeners to ask questions.
36+
- Polls can be created by lecturers.
37+
- Questions can be upvoted by listeners.
38+
- Questions can be marked as answered or hidden.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"label": "Selfhosting",
3+
"position": 4,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Selfhost GoCast on your network."
7+
}
8+
}
9+

0 commit comments

Comments
 (0)