diff --git a/content/docs/brand.mdx b/content/docs/brand.mdx new file mode 100644 index 0000000..58a3113 --- /dev/null +++ b/content/docs/brand.mdx @@ -0,0 +1,10 @@ +--- +title: Brand +description: Brand guidelines for OrcaCD, including logo usage, color palette, typography, and more. +--- + +TODO: Add brand guidelines, including logo usage, color palette, typography, and more. + +## Logo + +![Logo](/assets/logo-dark-256.png?url) diff --git a/content/docs/guides/reverse-proxy.mdx b/content/docs/guides/reverse-proxy.mdx index 1eb304e..2470839 100644 --- a/content/docs/guides/reverse-proxy.mdx +++ b/content/docs/guides/reverse-proxy.mdx @@ -5,7 +5,53 @@ description: Learn how to use a reverse proxy with OrcaCD ## Nginx -TODO +To use Nginx as a reverse proxy for OrcaCD, expose the Hub on localhost only and forward traffic from your public domain to the Hub port. + +Use this `server` block in your Nginx config: + +```nginx lineNumbers +server { + listen 80; + server_name orcacd.example.com; + + location / { + proxy_pass http://127.0.0.1:8080; + proxy_http_version 1.1; + + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port $server_port; + + # Required for WebSocket connections. + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + } +} +``` + +Now when registering an agent, you can use following URL as the Hub URL: + +``` +HUB_URL=http://orcacd.example.com +``` + +## Caddy + +To use Caddy as a reverse proxy for OrcaCD, add the following to your `Caddyfile`: + +```text lineNumbers +orcacd.example.com { + reverse_proxy 127.0.0.1:8080 +} +``` + +Now when registering an agent, you can use following URL as the Hub URL: + +``` +HUB_URL=https://orcacd.example.com +``` ## Traefik diff --git a/content/docs/index.mdx b/content/docs/index.mdx index 8e4714b..0a7d635 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -8,15 +8,22 @@ description: Welcome to OrcaCD - A simple service for using gitops with docker breaking changes at any time. -OrcaCD is a simple GitOps tool for Docker. It allows you to deploy your applications using Git as the source of truth. With OrcaCD, you can easily manage your Docker containers and keep them in sync with your Git repository. +OrcaCD is a simple GitOps tool for Docker. -TODO: +It allows you to deploy your applications with Docker using Git as the source of truth. With OrcaCD, you can easily manage your Docker containers and keep them in sync with your Git repository. -- Detailed project description -- Master degree project motivation -- Core components and concepts (hub/agent) +This project **initially** started as a course project for the master's degree in computer science - intelligent systems at the [Westphalian University of Applied Sciences](https://www.w-hs.de/). +The goal of this course was to go through the typical phases of a software project like system design, implementation, testing, and documentation. Even though the project was initially created for educational purposes, we decided to make it open source and continue development after the course ended. We believe that OrcaCD can be a useful tool for many developers and we want to share it with the community. -TODO: Image examples (application page, agents page, repositories page) +The motivation for this project is based on a prior project for another course where we used [ArgoCD](https://argo-cd.readthedocs.io/en/stable/) for GitOps deployments on Kubernetes. While ArgoCD is a powerful tool, it only supports Kubernetes and is not suitable for everyone. Since most of us already have a VPS with Docker running, we wanted to create a simple GitOps tool that can be used with Docker without the need for Kubernetes. + +The structure, architecture and concepts of OrcaCD can be found in the [architecture documentation](/docs/architecture). + +![Applications Page](/assets/docs/applications-page.png?url) + +![Agents Page](/assets/docs/agents-page.png?url) + +![Repositories Page](/assets/docs/repositories-page.png?url) import { HomeIcon } from "lucide-react"; diff --git a/content/docs/setup/installation.mdx b/content/docs/setup/installation.mdx index a9a8566..e1845b3 100644 --- a/content/docs/setup/installation.mdx +++ b/content/docs/setup/installation.mdx @@ -44,13 +44,13 @@ See the [reverse proxy guide](../guides/reverse-proxy) for instructions on how t Create an admin account on `https:///login` -Todo: Add image +![Setup Admin Account](/assets/docs/account-setup.png?url) ## Connect your first Agent [step] Navigate to the Agents page and click "Add Agent". Follow the instructions and copy the token and add it as `AUTH_TOKEN` to the `.env` file of your Agent deployment and restart the Agent. -Todo: Add image +![Setup Agent](/assets/docs/create-agent.png?url) ## Start Deploying [step] diff --git a/content/docs/troubleshooting/common-issues.mdx b/content/docs/troubleshooting/common-issues.mdx index a1080ef..1726a4a 100644 --- a/content/docs/troubleshooting/common-issues.mdx +++ b/content/docs/troubleshooting/common-issues.mdx @@ -3,4 +3,4 @@ title: Common Issues description: Solutions to frequently encountered problems --- -TODO +No issues have been documented yet. If you encounter a problem, please report it in the [GitHub Issues](https://github.com/OrcaCD/orca-cd/issues/new?template=bug.yml) and we will investigate it as soon as possible. diff --git a/public/assets/docs/account-setup.png b/public/assets/docs/account-setup.png new file mode 100644 index 0000000..c759613 Binary files /dev/null and b/public/assets/docs/account-setup.png differ diff --git a/public/assets/docs/agents-page.png b/public/assets/docs/agents-page.png new file mode 100644 index 0000000..b000edc Binary files /dev/null and b/public/assets/docs/agents-page.png differ diff --git a/public/assets/docs/applications-page.png b/public/assets/docs/applications-page.png new file mode 100644 index 0000000..75ac767 Binary files /dev/null and b/public/assets/docs/applications-page.png differ diff --git a/public/assets/docs/create-agent.png b/public/assets/docs/create-agent.png new file mode 100644 index 0000000..6d527b9 Binary files /dev/null and b/public/assets/docs/create-agent.png differ diff --git a/public/assets/docs/repositories-page.png b/public/assets/docs/repositories-page.png new file mode 100644 index 0000000..0c5239d Binary files /dev/null and b/public/assets/docs/repositories-page.png differ diff --git a/src/lib/layout.shared.tsx b/src/lib/layout.shared.tsx index 2115bcf..29dc82e 100644 --- a/src/lib/layout.shared.tsx +++ b/src/lib/layout.shared.tsx @@ -8,15 +8,22 @@ import { import type { BaseLayoutProps, LinkItemType } from "fumadocs-ui/layouts/shared"; import { GitHubRelease } from "@/components/github-release"; import { GithubInfo } from "@/components/github-info"; +import { useNavigate } from "@tanstack/react-router"; export function baseOptions(): BaseLayoutProps { + const navigate = useNavigate(); + + const handleRightClick = async (e: React.MouseEvent) => { + e.preventDefault(); + await navigate({ to: "/docs/$", params: { _splat: "brand" } }); + }; return { nav: { title: ( - <> +
OrcaCD Logo OrcaCD - +
), transparentMode: "top", },