diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 2d60988d..4b78b0c8 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -6,6 +6,7 @@ on:
branches: [develop]
paths:
- "sites/promo/**"
+ - "sites/docs/**"
- "package.json"
- "pnpm-lock.yaml"
- "pnpm-workspace.yaml"
@@ -43,10 +44,11 @@ jobs:
node-version: "22"
cache: "pnpm"
- # Only install the promo site (radiant) and its dependencies so the public
- # website deploy stays decoupled from the server/desktop build pipelines.
+ # Only install the promo site (radiant) and docs site (docs-next) and their
+ # dependencies so the public website deploy stays decoupled from the
+ # server/desktop build pipelines.
- name: Install dependencies
- run: pnpm install --filter radiant...
+ run: pnpm install --filter radiant... --filter docs-next...
- name: Setup Pages
id: setup_pages
@@ -63,12 +65,24 @@ jobs:
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-
- - name: Build with Next.js
+ - name: Build promo site with Next.js
working-directory: sites/promo
run: pnpm run build
env:
PAGES_BASE_PATH: ${{ steps.setup_pages.outputs.base_path }}
+ - name: Build docs site with Astro
+ working-directory: sites/docs
+ run: pnpm run build
+
+ # Nest the Starlight docs (built with base: "/docs") inside the promo export
+ # so both ship from a single GitHub Pages deployment at /docs.
+ - name: Assemble docs into /docs
+ run: |
+ rm -rf sites/promo/out/docs
+ mkdir -p sites/promo/out/docs
+ cp -r sites/docs/dist/. sites/promo/out/docs/
+
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
diff --git a/README.md b/README.md
index 33cc5d0e..13d96fa6 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
# Drop
[](https://droposs.org)
-[](https://docs.droposs.org/)
+[](https://droposs.org/docs)
[](https://forum.droposs.org)
[](LICENSE)
[](https://discord.gg/ACq4qZp4a9)
@@ -28,7 +28,7 @@ Drop is an open-source game distribution platform, similar to GameVault or Steam
## Deployment
-See our documentation on how to [deploy Drop](https://docs.droposs.org/docs/guides/quickstart) for more information.
+See our documentation on how to [deploy Drop](https://droposs.org/docs/admin/quickstart) for more information.
## Contributing
diff --git a/server/components/Setup/Account.vue b/server/components/Setup/Account.vue
index 017125be..f4f5cc27 100644
--- a/server/components/Setup/Account.vue
+++ b/server/components/Setup/Account.vue
@@ -19,7 +19,7 @@
({
// { name: t("footer.api"), href: "https://api.droposs.org/" },
{
name: t("footer.docs.server"),
- href: "https://docs.droposs.org/docs/guides/quickstart",
+ href: "https://droposs.org/docs/admin/quickstart",
},
{
name: t("footer.docs.client"),
- href: "https://docs.droposs.org/docs/guides/client",
+ href: "https://droposs.org/docs/user",
},
],
about: [
diff --git a/server/pages/admin/library/index.vue b/server/pages/admin/library/index.vue
index f2bd8954..2f0f542b 100644
--- a/server/pages/admin/library/index.vue
+++ b/server/pages/admin/library/index.vue
@@ -438,7 +438,7 @@
@@ -39,7 +39,7 @@ You can stack many "update mode" versions on top of each other, and they will pi
2. ### Follow the import guide again
- Follow the [import guide again](/admin/guides/import-version/), but this time for your new version folder.
+ Follow the [import guide again](/docs/admin/guides/import-version/), but this time for your new version folder.
3. ### Before import, enable update mode
diff --git a/sites/docs/src/content/docs/admin/going-further/setting-up-oidc.mdx b/sites/docs/src/content/docs/admin/going-further/setting-up-oidc.mdx
index d663a56a..7787f3ab 100644
--- a/sites/docs/src/content/docs/admin/going-further/setting-up-oidc.mdx
+++ b/sites/docs/src/content/docs/admin/going-further/setting-up-oidc.mdx
@@ -3,7 +3,7 @@ title: Setting up OIDC
---
:::note
-You can find reference information in the [OIDC authentication docs](/admin/authentication/oidc/).
+You can find reference information in the [OIDC authentication docs](/docs/admin/authentication/oidc/).
:::
## Authentik
diff --git a/sites/docs/src/content/docs/admin/guides/creating-library.mdx b/sites/docs/src/content/docs/admin/guides/creating-library.mdx
index 7738f631..45ad5235 100644
--- a/sites/docs/src/content/docs/admin/guides/creating-library.mdx
+++ b/sites/docs/src/content/docs/admin/guides/creating-library.mdx
@@ -10,7 +10,7 @@ To import games and start using Drop, you must first create a library to import
1. **Decide on a library layout.**
- Drop supports different layouts for your files on disk, you can read more about them in the [Library Sources](/reference/library-sources) reference section.
+ Drop supports different layouts for your files on disk, you can read more about them in the [Library Sources](/docs/reference/library-sources) reference section.
2. **Mount your library in the Docker container.**
@@ -28,7 +28,7 @@ To import games and start using Drop, you must first create a library to import
- `/mnt/media/my-drop-library` is the path to your library.
- `/library` is a **unique** path inside the container. **Use something else if another volume mounts to `/library`**.
- If you followed the [Quickstart](/admin/quickstart/) guide, you'll have already set up a library at `./library` pointing to `/library` within the container. You may want to instead edit that line in the `volumes` section to point to where your library is located.
+ If you followed the [Quickstart](/docs/admin/quickstart/) guide, you'll have already set up a library at `./library` pointing to `/library` within the container. You may want to instead edit that line in the `volumes` section to point to where your library is located.
3. **Open library source interface in Admin Dashboard.**
diff --git a/sites/docs/src/content/docs/admin/guides/exposing.md b/sites/docs/src/content/docs/admin/guides/exposing.md
index ccc3cf19..b5554152 100644
--- a/sites/docs/src/content/docs/admin/guides/exposing.md
+++ b/sites/docs/src/content/docs/admin/guides/exposing.md
@@ -16,7 +16,7 @@ Drop automatically parses and formats the URL, so there are no requirements on t
## LAN
-The `compose.yaml` provided in the [Quickstart guide](/admin/quickstart/) already exposes the Drop instance on port 3000. If you're on the same LAN as your Drop instance, you can find it's IP and then use:
+The `compose.yaml` provided in the [Quickstart guide](/docs/admin/quickstart/) already exposes the Drop instance on port 3000. If you're on the same LAN as your Drop instance, you can find it's IP and then use:
```
http://[instance IP]:3000
diff --git a/sites/docs/src/content/docs/admin/guides/import-version.mdx b/sites/docs/src/content/docs/admin/guides/import-version.mdx
index 4244c89d..c9791511 100644
--- a/sites/docs/src/content/docs/admin/guides/import-version.mdx
+++ b/sites/docs/src/content/docs/admin/guides/import-version.mdx
@@ -60,7 +60,7 @@ Once you've got a library set up, and have imported a game, you can import a ver
A installer version uses "setup mode". Enable the option, and then add the installer executable in setup commands.
:::note
- Setup and launch commands are parsed in a cross-platform, POSIX style. It's not relevant for simple setups, but useful to know. Read more about it in [Command Parsing](/reference/command-parsing/).
+ Setup and launch commands are parsed in a cross-platform, POSIX style. It's not relevant for simple setups, but useful to know. Read more about it in [Command Parsing](/docs/reference/command-parsing/).
:::
6. ### **Wait for import.**
diff --git a/sites/docs/src/content/docs/admin/quickstart.md b/sites/docs/src/content/docs/admin/quickstart.md
index e75816d7..8cfe68fc 100644
--- a/sites/docs/src/content/docs/admin/quickstart.md
+++ b/sites/docs/src/content/docs/admin/quickstart.md
@@ -40,7 +40,7 @@ services:
**The main things in this `compose.yaml` is the volumes attached to the `drop` service:**
-1. `./library` is where you will put your games to be imported into Drop. See '[Creating a library](/admin/guides/creating-library/)' once you're set up.
+1. `./library` is where you will put your games to be imported into Drop. See '[Creating a library](/docs/admin/guides/creating-library/)' once you're set up.
2. `./data` is where Drop will store anything that's using the default file-system backed storage system. Typically, these are objects.
:::tip
diff --git a/sites/docs/src/content/docs/index.mdx b/sites/docs/src/content/docs/index.mdx
index 3eca73f3..4f6f3e62 100644
--- a/sites/docs/src/content/docs/index.mdx
+++ b/sites/docs/src/content/docs/index.mdx
@@ -7,7 +7,7 @@ hero:
file: ../../assets/drop.svg
actions:
- text: Quickstart
- link: /admin/quickstart
+ link: /docs/admin/quickstart
icon: right-arrow
- text: Download client
link: https://droposs.org/download
diff --git a/sites/docs/src/content/docs/reference/command-parsing.mdx b/sites/docs/src/content/docs/reference/command-parsing.mdx
index d644c2da..01935baf 100644
--- a/sites/docs/src/content/docs/reference/command-parsing.mdx
+++ b/sites/docs/src/content/docs/reference/command-parsing.mdx
@@ -49,8 +49,8 @@ Only methods supported by your current platform (and the game's target platform)
| Method | Description |
| ------ | ----------- |
| **Native (direct)** *(default for Linux games)* | Runs the native Linux game directly on the host. |
-| **Steam Linux Runtime (umu-run)** | Runs the native Linux game inside `umu-run`'s Steam Linux Runtime. Requires [UMU launcher](/user/usage/proton/). |
-| **Proton (umu-run)** *(default for Windows games)* | Runs a Windows game through Proton, using `umu-run`. Requires [Proton](/user/usage/proton/). |
+| **Steam Linux Runtime (umu-run)** | Runs the native Linux game inside `umu-run`'s Steam Linux Runtime. Requires [UMU launcher](/docs/user/usage/proton/). |
+| **Proton (umu-run)** *(default for Windows games)* | Runs a Windows game through Proton, using `umu-run`. Requires [Proton](/docs/user/usage/proton/). |
| **Proton + muvm (Asahi)** | Runs a Windows game through Proton inside a muvm microVM, for Apple Silicon / Asahi Linux. |
On macOS, games are always launched directly.
diff --git a/sites/docs/src/content/docs/reference/library-sources.mdx b/sites/docs/src/content/docs/reference/library-sources.mdx
index 4abd4184..7c046da4 100644
--- a/sites/docs/src/content/docs/reference/library-sources.mdx
+++ b/sites/docs/src/content/docs/reference/library-sources.mdx
@@ -48,7 +48,7 @@ In the UI, you'll be prompted to "import" each folder separately:
So your game has gotten an update and you've got new files. All you need to do is create a new version folder inside the game folder, and move all the files you have into that folder. Then, import it within the Drop admin UI.
-If you have files that you're supposed to **paste over the previous version**, Drop supports that! Read [Update mode](/reference/update-mode/) to find out more.
+If you have files that you're supposed to **paste over the previous version**, Drop supports that! Read [Update mode](/docs/reference/update-mode/) to find out more.
# Compatibility (flat-style)
diff --git a/sites/docs/src/content/docs/user/index.md b/sites/docs/src/content/docs/user/index.md
index d68a220a..ea643e1c 100644
--- a/sites/docs/src/content/docs/user/index.md
+++ b/sites/docs/src/content/docs/user/index.md
@@ -4,4 +4,4 @@ title: Getting Started
Drop clients are available for download from [our website](https://droposs.org/download), or follow one of our installation guides on the sidebar. Download the correct version for your platform, and open it up.
-The client will walk you through the setup and sign-in process to get started. You'll need a Drop instance you can connect to, and an account on the server. If you don't have one, you can follow the [Quickstart](/admin/quickstart/) guide to set up your own.
+The client will walk you through the setup and sign-in process to get started. You'll need a Drop instance you can connect to, and an account on the server. If you don't have one, you can follow the [Quickstart](/docs/admin/quickstart/) guide to set up your own.
diff --git a/sites/docs/src/content/docs/user/usage/proton.mdx b/sites/docs/src/content/docs/user/usage/proton.mdx
index 5b0ac388..65e84a17 100644
--- a/sites/docs/src/content/docs/user/usage/proton.mdx
+++ b/sites/docs/src/content/docs/user/usage/proton.mdx
@@ -59,4 +59,4 @@ Drop uses a global default Proton version to launch games by default. You can ov
## Choosing a launch method
-Proton isn't the only thing you can change per-game. If a game won't start, you can also try a different **launch method** from the same **Game Options → Launch** menu — for example, forcing a Windows game through Proton, or running a native Linux game inside the Steam Linux Runtime. See [Launch methods](/reference/command-parsing/#launch-methods) for the full list.
\ No newline at end of file
+Proton isn't the only thing you can change per-game. If a game won't start, you can also try a different **launch method** from the same **Game Options → Launch** menu — for example, forcing a Windows game through Proton, or running a native Linux game inside the Steam Linux Runtime. See [Launch methods](/docs/reference/command-parsing/#launch-methods) for the full list.
\ No newline at end of file
diff --git a/sites/promo/src/app/about/page.tsx b/sites/promo/src/app/about/page.tsx
index 99e20f93..e772c444 100644
--- a/sites/promo/src/app/about/page.tsx
+++ b/sites/promo/src/app/about/page.tsx
@@ -46,7 +46,7 @@ function Header() {
Lines of code
- k
+ k
@@ -61,7 +61,7 @@ function Header() {
Docker pulls
- k
+ k
diff --git a/sites/promo/src/app/page.tsx b/sites/promo/src/app/page.tsx
index 0be8da72..507b2c4a 100644
--- a/sites/promo/src/app/page.tsx
+++ b/sites/promo/src/app/page.tsx
@@ -36,7 +36,7 @@ function Hero() {
Steam and Epic.