diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..55a12ae
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,28 @@
+# deps
+/node_modules
+
+# generated content
+.contentlayer
+.content-collections
+.source
+
+# test & build
+/coverage
+/.next/
+/out/
+/build
+*.tsbuildinfo
+
+# misc
+.DS_Store
+*.pem
+/.pnp
+.pnp.js
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# others
+.env*.local
+.vercel
+next-env.d.ts
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..5144394
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,39 @@
+# ckan-devstaller docs website (ckan-devstaller.dathere.com)
+
+
+
+This directory includes a Next.js project built with [Fumadocs](https://github.com/fuma-nama/fumadocs) for documentation of ckan-devstaller. The documentation can be viewed at [ckan-devstaller.dathere.com](https://ckan-devstaller.dathere.com).
+
+We attempt to follow the [Divio documentation system](https://docs.divio.com/documentation-system/) which primarily includes:
+
+- Tutorials
+- How-to guides
+- Explanation
+- Reference
+
+## Development
+
+Run development server:
+
+```bash
+bun dev
+```
+
+Open http://localhost:3000 with your browser to see the result.
+
+## Explore
+
+In the project, you can see:
+
+- `lib/source.ts`: Code for content source adapter, `loader()` provides the interface to access your content.
+- `lib/layout.shared.tsx`: Shared options for layouts, optional but preferred to keep.
+
+| Route | Description |
+| ------------------------- | ------------------------------------------------------ |
+| `app/(home)` | The route group for your landing page and other pages. |
+| `app/docs` | The documentation layout and pages. |
+| `app/api/search/route.ts` | The Route Handler for search. |
+
+## Linting
+
+We use [Biome](https://biomejs.dev) for linting. We recommend you install the [biome-vscode extension](https://github.com/biomejs/biome-vscode) if you are using [VSCodium](https://vscodium.com/) or VSCode for developing the docs.
diff --git a/docs/app/(home)/ckan-devstaller-demo.gif b/docs/app/(home)/ckan-devstaller-demo.gif
new file mode 100644
index 0000000..dda1cf9
Binary files /dev/null and b/docs/app/(home)/ckan-devstaller-demo.gif differ
diff --git a/docs/app/(home)/layout.tsx b/docs/app/(home)/layout.tsx
new file mode 100644
index 0000000..c16b056
--- /dev/null
+++ b/docs/app/(home)/layout.tsx
@@ -0,0 +1,6 @@
+import { HomeLayout } from "fumadocs-ui/layouts/home";
+import { baseOptions } from "@/lib/layout.shared";
+
+export default function Layout({ children }: LayoutProps<"/">) {
+ return {children};
+}
diff --git a/docs/app/(home)/page.tsx b/docs/app/(home)/page.tsx
new file mode 100644
index 0000000..576978e
--- /dev/null
+++ b/docs/app/(home)/page.tsx
@@ -0,0 +1,159 @@
+/** biome-ignore-all lint/a11y/useButtonType: */
+/** biome-ignore-all lint/suspicious/noArrayIndexKey: */
+"use client";
+
+import { cva } from "class-variance-authority";
+import { cn } from "fumadocs-ui/utils/cn";
+import Image from "next/image";
+import Link from "next/link";
+import { useState } from "react";
+import { buttonVariants } from "@/components/ui/button";
+import CkanDevstallerDemo from "./ckan-devstaller-demo.gif";
+
+export default function HomePage() {
+ const gridColor =
+ "color-mix(in oklab, var(--color-fd-primary) 10%, transparent)";
+ return (
+ <>
+
+
+
+
+
+
+
+
+ >
+ );
+}
+
+function Hero() {
+ return (
+
+
+
+
Build Your Docs
+
+ ckan-devstaller
+
+ Launch CKAN dev instances within minutes
+
+
+ ckan-devstaller is a command-line tool to automate installing CKAN for
+ development using ckan-compose on a new Ubuntu 22.04 instance.
+