Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated docs #1416

Merged
merged 25 commits into from
Jan 10, 2025
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a8b9767
Add docusaurus setup
carlobortolan Nov 11, 2024
57e5f79
Add static resources
carlobortolan Nov 11, 2024
a00f18f
Write docs pages
carlobortolan Nov 11, 2024
14558ea
Implement versioning, fix broken links and add changelog page
carlobortolan Nov 11, 2024
76b4721
Update self-streaming guide and README
carlobortolan Nov 26, 2024
24c9155
Add GitHub Actions workflow for deploying landing page to GitHub Pages
carlobortolan Nov 27, 2024
f77cca5
Fix CI/CD
carlobortolan Nov 27, 2024
182817c
Fix CI/CD
carlobortolan Nov 27, 2024
06b24f3
Update GitHub Actions workflow for deploying documentation to GitHub …
carlobortolan Nov 27, 2024
4959974
Fix CI/CD
carlobortolan Nov 27, 2024
3efcb35
Update base URL
carlobortolan Nov 27, 2024
7131e00
Add algolia docsearch support
carlobortolan Nov 27, 2024
bd0888c
Update deployment branch
carlobortolan Nov 27, 2024
eaeaa6f
Update phrasing
carlobortolan Nov 27, 2024
e513ca4
Merge branch 'dev' of github.com:TUM-Dev/gocast into enh/docs
carlobortolan Nov 27, 2024
ac0e09a
Manually trigger new deployment
carlobortolan Nov 27, 2024
c9d1d24
Add branch restrictions
carlobortolan Nov 27, 2024
95eb005
Update deploy-docs.yaml
carlobortolan Nov 27, 2024
05a3d41
Create CNAME
carlobortolan Nov 27, 2024
f3f5a43
Update deploy-docs.yaml
carlobortolan Nov 27, 2024
22469b8
Update deployment config
carlobortolan Nov 29, 2024
89927db
Re-add deployment branch restrictions
carlobortolan Nov 29, 2024
8267d8f
Update docusaurus.config.js
carlobortolan Jan 10, 2025
5937551
Update intro.md
carlobortolan Jan 10, 2025
f7b18db
Merge branch 'dev' into enh/docs
carlobortolan Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Deploy Docs to GitHub Pages

on:
push:
branches:
- dev
pull_request:
branches:
- dev
# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on

jobs:
build:
name: Build Docusaurus
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18

- name: Install dependencies
run: npm install
working-directory: ./docs_v2
- name: Build website
run: npm run build
working-directory: ./docs_v2

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs_v2/build

deploy:
name: Deploy to GitHub Pages
needs: build
if: github.ref == 'refs/heads/dev'

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs.live.rbg.tum.de
22 changes: 22 additions & 0 deletions docs_v2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
w# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

.vercel
661 changes: 661 additions & 0 deletions docs_v2/LICENSE

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions docs_v2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# GoCast Docs

Contains the new docs for GoCast.

A prototype can be found [here](https://tumlive-docs.pages.dev/).

## Getting started

To start the development server, run:

```bash
npm run dev
```

To build the project site **for production**, run:

```bash
npm run build
```

> The static files are generated in the `build` folder.

To start the production server, run:

```bash
npm run start
```

## How to add a new page

To add a new page, create a new markdown file in the `docs` directory. The file should have the following structure:

```markdown
---
title: Page Title
---

# Page Title

Page content goes here.
```

The `title` field in the front matter is used to generate the page title in the sidebar.

## How to add a new section

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:

```markdown
---
title: Section Title
---

# Section Title

Section description goes here.
```

The `title` field in the front matter is used to generate the section title in the sidebar.

## How to add a new sidebar item

To add a new sidebar item, edit the `sidebar.json` file in the `data` directory. The file should have the following structure:

```json
[
{
"title": "Section Title",
"children": [
{
"title": "Page Title",
"slug": "page-slug"
}
]
}
]
```

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.

## More information

For more information, see the official Docusaurus docs [here](https://docusaurus.io/docs).



## Credit

https://docusaurus.io \
https://github.com/facebook/docusaurus
3 changes: 3 additions & 0 deletions docs_v2/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
38 changes: 38 additions & 0 deletions docs_v2/blog/changelogs/v1.2.26.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: "V1.2.26"
date: 2023-04-23T08:20:06+02:00
draft: false
summary: "This release contains the feature of downloads from the Edge servers and the use of MediaMTX for selfstreams. It also contains some bugfixes."
tags: [feature, bugfix, misc]
---

Changes in this release:

## Features

- [allow mp4 downloads from HLS Edge server](https://github.com/joschahenningsen/TUM-Live/pull/931) by [@joschahenningsen](https://github.com/joschahenningsen)
- Video files are now downloaded from the edge server instead of pulling the mp4 file from the mass storage.
This step helps us get rid of the dependence of video files in the mass storage, thus saving 50% disk space.
The long term goal is to only store HLS segments and discard the mp4 files after they have been converted to a HLS stream.
- [Use MediaMTX for Selfstreams](https://github.com/joschahenningsen/TUM-Live/pull/994) by [@joschahenningsen](https://github.com/joschahenningsen)
- Selfstreams are now delivered to the worker using [MediaMTX](https://github.com/aler9/mediamtx).
This package has proven to be more reliable and much more actively maintained than nginx with the rtmp module.
- MediaMTX is now also embedded in the docker container of the worker. This allows easier deployment and self-streaming to any worker.

---

## Bugfixes

- [Fix chat replay message scrolling](https://github.com/joschahenningsen/TUM-Live/pull/996) by [@MatthiasReumann](https://github.com/MatthiasReumann)
- When watching a video on demand with the chat following the stream times, the messages automatically scrolled to were offset
by a bit and thus out of the visible area. This is now fixed.
- [Fix Firefox file drop](https://github.com/joschahenningsen/TUM-Live/pull/999) by [@MatthiasReumann](https://github.com/MatthiasReumann)
- Dropping files as lecture attatchments did not work in Firefox. This is now fixed.
- [Fix skip silence button fadeout](https://github.com/joschahenningsen/TUM-Live/pull/995) by [@MatthiasReumann](https://github.com/MatthiasReumann)
- The skip silence button would not fade out when the video was silent. This is now fixed.

---

## Misc

- [Update Node.js to v20](https://github.com/joschahenningsen/TUM-Live/pull/1003)
12 changes: 12 additions & 0 deletions docs_v2/blog/changelogs/v1.2.27.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "V1.2.27"
date: 2023-04-24T20:56:06+02:00
draft: false
summary: "This release contains one small bugfix."
tags: [bugfix]
---

This release contains one small bugfix.

- [fix edge server tests and log import](https://github.com/joschahenningsen/TUM-Live/commit/04aa8ca42e32cd9684ee815e445902125981b5c5) by [@joschahenningsen](https://github.com/joschahenningsen)
- This fixes an issue with the latest deployment where the wrong log package was imported in the Edge submodule.
19 changes: 19 additions & 0 deletions docs_v2/blog/changelogs/v1.4.18.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: "V1.4.18"
date: 2024-05-06T20:56:06+02:00
draft: false
summary: "This release contains a few bug fixes and improvements. It also contains some new features and changes."
tags: [bugfix, feature]
---

This release contains a few bug fixes and improvements.
It also contains some new features and changes.

Bugfixes:
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1324) where the chat stops working after a too long message
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1350) where the `watched` state of a VoD wasn't detected correctly
- Fixed a [bug](https://github.com/TUM-Dev/gocast/pull/1340) where private VoDs were still listed publicly
- [Skip silence button](https://github.com/TUM-Dev/gocast/pull/1326) not shown if you seek into the silence

Features:
- You can now select, that the [beta mode](https://github.com/TUM-Dev/gocast/pull/1328) is your default mode
23 changes: 23 additions & 0 deletions docs_v2/docs/features/LectureHallStreams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: "Stream from your Lecture Hall"
sidebar_position: 1
description: "Automatic Broadcasting and Recording of Auditoriums"
---

## Automatic Broadcasting and Recording of Auditoriums

With GoCast, you can easily stream your lectures to the internet. This allows students to follow the lecture from home
or on the go. If you wish so, a recording of the lecture is also available for later viewing.

For this purpose, we have installed Streaming Media Processors (SMPs) in many lecture halls at TUM. These devices are
capable of capturing the video and audio of the lecture and sending it to our servers for broadcasting.

For a guide on how to stream from a lecture hall, please refer to the [Lecture Hall Streaming Guide](/docs/usage/lecturehall-streaming.md).

---

# Self-Streaming using OBS, Zoom or other Software

You can also stream your lectures yourself with any streaming software you like. We recommend OBS for this purpose.

For instructions on how to self-stream, please refer to the [Self-Streaming Guide](/docs/usage/self-streaming.md).
13 changes: 13 additions & 0 deletions docs_v2/docs/features/VideoOnDemand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: "Video On Demand"
sidebar_position: 2
description: "Upload videos to the server and stream them to the students."
---

# Video On Demand

Video On Demand (VoD) is a feature that allows you to upload videos to the server and stream them to the students. This
feature is useful for hosting videos that you want to share with your students.

You can also record your live classes and get them automatically uploaded to the server. This way, students who missed
the live class can watch the recording later.
9 changes: 9 additions & 0 deletions docs_v2/docs/features/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"label": "Features",
"position": 2,
"link": {
"type": "generated-index",
"description": "Learn about the features of GoCast."
}
}

1 change: 1 addition & 0 deletions docs_v2/docs/features/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
awdawd
38 changes: 38 additions & 0 deletions docs_v2/docs/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
sidebar_position: 1
---

# GoCast

Deliver live events and recordings like it's the 21st century. - Privacy friendly, self-hosted and open-source.

![test](/img/showcase-01.png#showcase)

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)**.

## Quick facts

GoCast is

- **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.
- **Open-source** and licensed under the [MIT license](https://github.com/joschahenningsen/TUM-Live/blob/dev/LICENSE).
- **Self-hosted**: You have full control over your data and can run GoCast on your own servers.

## Features

For a detailed list of features, refer to the [features section](/docs/features/LectureHallStreams/).

- Fully automatic Live-Streaming from Auditoriums based on lecture schedules.
- Self-service interface for lecturers to schedule and manage their videos.
- Automated import of lectures and enrollment of students from CAMPUSonline.
- Self-streaming via OBS, Zoom, etc.
- Automatic recording of live-streams.
- Video on demand uploads.
- Automatic post-processing of recordings.
- Detects silence in videos and makes them skip-able.
- Transcribes videos and makes them searchable.
- Generates Thumbnails.
- Live Chat for listeners to ask questions.
- Polls can be created by lecturers.
- Questions can be upvoted by listeners.
- Questions can be marked as answered or hidden.
9 changes: 9 additions & 0 deletions docs_v2/docs/selfhosting/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"label": "Selfhosting",
"position": 4,
"link": {
"type": "generated-index",
"description": "Selfhost GoCast on your network."
}
}

Loading
Loading