Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions content/docs/brand.mdx
Original file line number Diff line number Diff line change
@@ -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)
48 changes: 47 additions & 1 deletion content/docs/guides/reverse-proxy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Comment thread
alex289 marked this conversation as resolved.
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

Expand Down
19 changes: 13 additions & 6 deletions content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,22 @@ description: Welcome to OrcaCD - A simple service for using gitops with docker
breaking changes at any time.
</Callout>

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";

Expand Down
4 changes: 2 additions & 2 deletions content/docs/setup/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@ See the [reverse proxy guide](../guides/reverse-proxy) for instructions on how t

Create an admin account on `https://<your-app-url>/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]

Expand Down
2 changes: 1 addition & 1 deletion content/docs/troubleshooting/common-issues.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Binary file added public/assets/docs/account-setup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/docs/agents-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/docs/applications-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/docs/create-agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/docs/repositories-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 9 additions & 2 deletions src/lib/layout.shared.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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: (
<>
<div onContextMenu={handleRightClick} className="flex">
<img src="/assets/logo-dark.svg" alt="OrcaCD Logo" className="size-6 mr-2" />
<span className="font-medium">OrcaCD</span>
</>
</div>
),
transparentMode: "top",
},
Expand Down