diff --git a/web/pages/components/main-layout.tsx b/web/pages/components/main-layout.tsx
index 6d2f9fcaf..1139d679c 100644
--- a/web/pages/components/main-layout.tsx
+++ b/web/pages/components/main-layout.tsx
@@ -13,6 +13,7 @@ import {
ToolOutlined,
PlayCircleFilled,
MinusSquareFilled,
+ QuestionCircleOutlined
} from '@ant-design/icons';
import classNames from 'classnames';
import { upgradeVersionAvailable } from "../../utils/apis";
@@ -140,6 +141,13 @@ export default function MainLayout(props) {
+
}
+ title="Help"
+ >
+ Help
+
diff --git a/web/pages/help.tsx b/web/pages/help.tsx
new file mode 100644
index 000000000..ba8b21f7f
--- /dev/null
+++ b/web/pages/help.tsx
@@ -0,0 +1,142 @@
+import { Button, Card, Col, Divider, Row } from 'antd'
+import Meta from 'antd/lib/card/Meta'
+import Title from 'antd/lib/typography/Title'
+import {
+ BugTwoTone,
+ CameraTwoTone,
+ DatabaseTwoTone,
+ DislikeTwoTone,
+ EditTwoTone,
+ FireFilled,
+ FireOutlined,
+ Html5TwoTone,
+ QuestionCircleFilled,
+ SettingTwoTone,
+ SlidersTwoTone,
+ VideoCameraTwoTone
+} from '@ant-design/icons';
+import React from 'react'
+
+interface Props { }
+
+export default function Help(props: Props) {
+ const questions = [
+ {
+ icon: ,
+ title: "I want to configure my owncast instance",
+ content: (
+
+ )
+ },
+ {
+ icon: ,
+ title: "I need help configuring my broadcasting software",
+ content: (
+
+ )
+ },
+ {
+ icon: ,
+ title: "I want to embed my stream into another site",
+ content: (
+
+ )
+ },
+ {
+ icon: ,
+ title: "I want to customize my website",
+ content: (
+
+ )
+ },
+ {
+ icon: ,
+ title: "I want to tweak my encoding",
+ content: (
+
+ )
+ },
+ {
+ icon: ,
+ title: "I want to offload my video to an external storage provider",
+ content: (
+
+ )
+ },
+ ]
+
+ const otherResources = [
+ {
+ icon: ,
+ title: "I found a bug",
+ content: (
+
+ )
+ }
+ ]
+
+ return (
+
+
How can we help you?
+
+
+ Having issues with owncast?
+
+
+
+ Having any questions about owncast?
+
+
+
+
+
Common tasks
+
+ {
+ questions.map(question => (
+
+
+
+
+
+ ))
+ }
+
+
+
Other
+
+ {
+ otherResources.map(question => (
+
+
+
+
+
+ ))
+ }
+
+
+ )
+}