From 3898fa75676aca3124db670ec2fa95e0a910e76f Mon Sep 17 00:00:00 2001 From: richardscull <106016833+richardscull@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:04:51 +0200 Subject: [PATCH 1/3] feat: Add starlight-image-zoom and starlight-scroll-to-top --- astro.config.mjs | 8 ++++++-- bun.lock | 6 ++++++ package.json | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index f223296..636b67e 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -2,7 +2,10 @@ import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; import mermaid from 'astro-mermaid'; -import starlightThemeRapide from 'starlight-theme-rapide' +import starlightThemeRapide from 'starlight-theme-rapide'; +import starlightImageZoom from 'starlight-image-zoom'; +import starlightScrollToTop from 'starlight-scroll-to-top'; + // https://astro.build/config export default defineConfig({ @@ -50,7 +53,8 @@ export default defineConfig({ autogenerate: { directory: 'deprecated' }, }, ], - plugins: [starlightThemeRapide()], + description: 'Documentation for the Sunrise osu! server project, including setup guides and configuration options.', + plugins: [starlightThemeRapide(), starlightImageZoom(), starlightScrollToTop()], customCss: [ './src/styles/custom.css' ], diff --git a/bun.lock b/bun.lock index c9dc05e..48e1672 100644 --- a/bun.lock +++ b/bun.lock @@ -8,6 +8,8 @@ "astro-mermaid": "^1.3.1", "mermaid": "^11.12.2", "sharp": "^0.34.2", + "starlight-image-zoom": "^0.13.2", + "starlight-scroll-to-top": "^0.4.0", "starlight-theme-rapide": "^0.5.2", }, }, @@ -991,6 +993,10 @@ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + "starlight-image-zoom": ["starlight-image-zoom@0.13.2", "", { "dependencies": { "mdast-util-mdx-jsx": "^3.1.3", "rehype-raw": "^7.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1" }, "peerDependencies": { "@astrojs/starlight": ">=0.32.0" } }, "sha512-fDJrx+UZXhkbhEeXKoRogTKAYtrYVJPw6wmSUI3nHUTA0vuRM6EI//2Z8bzv3Ecvz0pHKD1vAxtS01mLyessBA=="], + + "starlight-scroll-to-top": ["starlight-scroll-to-top@0.4.0", "", { "peerDependencies": { "@astrojs/starlight": ">=0.35" } }, "sha512-lxsW5Sv+oKCI8CYZQ6Ue957cExiHMozK73LmmbsvpBKWryW+AKU4OXmX/1bTQNx+mVLZcpm2qTwKa1KX5VdEaQ=="], + "starlight-theme-rapide": ["starlight-theme-rapide@0.5.2", "", { "peerDependencies": { "@astrojs/starlight": ">=0.34.0" } }, "sha512-4kNJutt0/3E0rjZvG9hvKeTTHGOHC97t2ZQDwDcokTM25yLgxavFu7BCm2Dm2UTw7fJpRXpu4gUWJ9xAOBmNww=="], "stream-replace-string": ["stream-replace-string@2.0.0", "", {}, "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w=="], diff --git a/package.json b/package.json index ba764da..fe06d35 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "astro-mermaid": "^1.3.1", "mermaid": "^11.12.2", "sharp": "^0.34.2", + "starlight-image-zoom": "^0.13.2", + "starlight-scroll-to-top": "^0.4.0", "starlight-theme-rapide": "^0.5.2" } } \ No newline at end of file From 36c0c16b1bf5b6903252c6f253f1f4e38ce07f87 Mon Sep 17 00:00:00 2001 From: richardscull <106016833+richardscull@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:05:21 +0200 Subject: [PATCH 2/3] feat: Use steps for numbered lists --- .../docs/getting-started/configuration.mdx | 25 ++++++--- src/content/docs/getting-started/faq.mdx | 18 ++++--- ...on-to-solar-system-from-manual-install.mdx | 27 ++++++---- .../upgrade-to-dot-env-variables.mdx | 52 +++++++++++-------- 4 files changed, 75 insertions(+), 47 deletions(-) diff --git a/src/content/docs/getting-started/configuration.mdx b/src/content/docs/getting-started/configuration.mdx index 0e0bc7d..8430327 100644 --- a/src/content/docs/getting-started/configuration.mdx +++ b/src/content/docs/getting-started/configuration.mdx @@ -4,6 +4,8 @@ sidebar: order: 3 --- +import { Steps } from '@astrojs/starlight/components'; + This section will cover basic configuration of the server. ## General Configuration @@ -28,13 +30,15 @@ Open the `Sunset/app/i18n.config.json` file and update the following values: ##### Change server's logo + 1. Use any favicon generator, use [any search engine](https://www.google.com/search?q=create+favicon+for+website) to find one. -- For simplicity, we will use [realfavicongenerator.net]( https://realfavicongenerator.net/) in this guide. + - For simplicity, we will use [realfavicongenerator.net]( https://realfavicongenerator.net/) in this guide. 2. Upload your logo image (PNG, JPG, SVG, etc.) and click the "Generate" button. 3. Click `Next` at the bottom of the page. 4. Select `Next.js` and download app and public files. -![Favicon Generator](../../../assets/img/favicon-gen.png) + ![Favicon Generator](../../../assets/img/favicon-gen.png) 5. Replace files in the `Sunset/app` and `Sunset/public` directories with the downloaded files following the website instructions. + ##### Change server's assets @@ -44,12 +48,14 @@ For example, to change the front page mascot image, you can replace `Sunset/publ ##### Change the website's colors + 1. Use any Tailwind v3 ShadCN UI theme generator, use [any search engine](https://www.google.com/search?q=tailwind+css+v3+shadcn+cn+ui+theme+generator) to find one. -- For simplicity, we will use [tweakcn.com](https://tweakcn.com/) in this guide. + - For simplicity, we will use [tweakcn.com](https://tweakcn.com/) in this guide. 2. Select or manually customize the theme you want. 3. Click on the `Code` tab and select `Tailwind v3` and `hsl` options. 4. Press the `Copy` button to copy the code. 5. Open the `Sunset/app/style.css` file and replace the content with the copied code. + #### Sunrise (osu! server) changes @@ -335,11 +341,18 @@ BANCHO_CLIENT_SECRET=your_client_secret You can get the credentials by registering your application on the [osu! API](https://osu.ppy.sh/home/account/edit). -![1](../../../assets/img/bancho-1.png) + +1. Go to the [osu! API](https://osu.ppy.sh/home/account/edit) page and find the `OAuth` section. + ![1](../../../assets/img/bancho-1.png) + +2. Click on the `New OAuth Application` button or press `Edit` if you already have an application created. + ![2](../../../assets/img/bancho-2.png) + - If you are creating a new application, fill the `Application Name` and `Application Callback URLs` fields with any value, as they are not used by the server. -![2](../../../assets/img/bancho-2.png) +3. Copy the `Client ID` and `Client Secret` values. + ![3](../../../assets/img/bancho-3.png) + -![3](../../../assets/img/bancho-3.png) After that, don't forget to restart the stack. diff --git a/src/content/docs/getting-started/faq.mdx b/src/content/docs/getting-started/faq.mdx index e773363..7984edd 100644 --- a/src/content/docs/getting-started/faq.mdx +++ b/src/content/docs/getting-started/faq.mdx @@ -4,6 +4,8 @@ sidebar: order: 4 --- +import { Steps } from '@astrojs/starlight/components'; + This section will cover some of the most common questions about Sunrise, its features, and some troubleshooting tips. ## How do I set up the server? @@ -148,19 +150,21 @@ This will update all components to the latest version. To update the server, you can follow these steps for all components you wish to update: + 1. Stop the server if it's running. 2. Pull the latest changes from the GitHub repository. -```bash -git fetch -git pull -``` + ```bash + git fetch + git pull + ``` 3. Rebuild the component using the docker compose command: -```bash -docker compose -f docker-compose.yml up -d --build --force-recreate -``` + ```bash + docker compose -f docker-compose.yml up -d --build --force-recreate + ``` + This should update all components to the latest version. diff --git a/src/content/docs/upgrading/migration-to-solar-system-from-manual-install.mdx b/src/content/docs/upgrading/migration-to-solar-system-from-manual-install.mdx index 1d749ea..8970a0c 100644 --- a/src/content/docs/upgrading/migration-to-solar-system-from-manual-install.mdx +++ b/src/content/docs/upgrading/migration-to-solar-system-from-manual-install.mdx @@ -4,6 +4,8 @@ sidebar: order: 2 --- +import { Steps } from '@astrojs/starlight/components'; + ![Migration to Solar System from Manual Install](../../../assets/img/prefer_solar_system.png) ## Introduction @@ -25,28 +27,31 @@ Make sure to create a backup of the Sunrise using `!backupdatabase` command in-g We are not responsible for any data loss or corruption that may occur during the migration. Please make sure to create backups of all databases before proceeding with the migration. ::: + + 1. **Stop the Server**: Ensure that Sunrise/Observatory/Sunshine containers are not running before making any changes. (Leave databases containers running.) 2. **Clone the Solar System repository**: Clone the [Solar System](https://github.com/SunriseCommunity/Solar-System) repository with submodules. -```console -git clone --recursive https://github.com/SunriseCommunity/Solar-System.git -cd Solar-System -``` + ```console + git clone --recursive https://github.com/SunriseCommunity/Solar-System.git + cd Solar-System + ``` 3. **Copy the configuration files**: Copy the configuration files from your manual installation to the Solar System repository. -```console -cp .env.example .env -cp Sunrise.Config.Production.json.example Sunrise.Config.Production.json -``` + ```console + cp .env.example .env + cp Sunrise.Config.Production.json.example Sunrise.Config.Production.json + ``` 4. **Fill the configuration files**: Fill the configuration files with your previous configuration values. -For example, if you were using `appsettings.Production.json` file, you can copy the values from it to the `Sunrise.Config.Production.json` file. - -For the `.env` file, each value has a prefix of the component it belongs to. For example, `SUNRISE_` prefix is for Sunrise, `OBSERVATORY_` prefix is for Observatory, `SUNSHINE_` prefix is for Sunshine. + For example, if you were using `appsettings.Production.json` file, you can copy the values from it to the `Sunrise.Config.Production.json` file. + + For the `.env` file, each value has a prefix of the component it belongs to. For example, `SUNRISE_` prefix is for Sunrise, `OBSERVATORY_` prefix is for Observatory, `SUNSHINE_` prefix is for Sunshine. + ### Migrating data from sunrise database diff --git a/src/content/docs/upgrading/upgrade-to-dot-env-variables.mdx b/src/content/docs/upgrading/upgrade-to-dot-env-variables.mdx index a2c7262..0812f54 100644 --- a/src/content/docs/upgrading/upgrade-to-dot-env-variables.mdx +++ b/src/content/docs/upgrading/upgrade-to-dot-env-variables.mdx @@ -4,6 +4,8 @@ sidebar: order: 2 --- +import { Steps } from '@astrojs/starlight/components'; + ## Introduction Starting from January 6 2026, Sunrise has transitioned to using `.env` files for configuration management. @@ -24,50 +26,54 @@ This is not a requirement, but it is highly recommended to back up your existing To do so, run `!backupdatabase` Bancho command in-game to back up your database. After it's done, continue with this guide. ::: + + 1. **Stop the Server**: Ensure that your Sunrise server is not running before making any changes. -If you are running the server using Docker Compose: + If you are running the server using Docker Compose: -```bash -docker compose -f docker-compose.yml down -``` + ```bash + docker compose -f docker-compose.yml down + ``` -Or manually stop the server if you are running it directly. + Or manually stop the server if you are running it directly. 2. **Create a `.env` File**: In the root directory of your Sunrise server, there should be a file named `.env.example`. Create a copy of this file and rename it to `.env`. -On Linux or macOS, you can use the following command: + On Linux or macOS, you can use the following command: -```bash -cp .env.example .env -``` + ```bash + cp .env.example .env + ``` -On Windows, you can use: + On Windows, you can use: -```powershell -copy .env.example .env -``` + ```powershell + copy .env.example .env + ``` 3. **Migrate Configuration Values**: Open your existing `appsettings.*.json` files and copy the relevant configuration values to the corresponding variables in the `.env` file. -Here is an example mapping of the values from `appsettings.json` to `.env` variables: + Here is an example mapping of the values from `appsettings.json` to `.env` variables: -![](../../../assets/img/values-mapping-for-env.png) -:::warning -Please notice that `Hangfire.ConnectionString` is _deprecated_ and doesn't need to be migrated to `.env` file any more. Use the same connection string as `Database.ConnectionString` instead. -::: + ![](../../../assets/img/values-mapping-for-env.png) + :::warning + Please notice that `Hangfire.ConnectionString` is _deprecated_ and doesn't need to be migrated to `.env` file any more. Use the same connection string as `Database.ConnectionString` instead. + ::: 4. **Save Changes**: After migrating all the necessary values, save the `.env` file. 5. **Restart the Server**: Start your Sunrise server again to apply the changes. -If you are using Docker Compose: + If you are using Docker Compose: -```bash -docker compose -f docker-compose.yml up -d --build --remove-orphans -``` + ```bash + docker compose -f docker-compose.yml up -d --build --remove-orphans + ``` + + Or start the server manually if you are running it directly. -Or start the server manually if you are running it directly. + ## Common problems From c97ad1bd723ee9b3cc90025a2c056869f085df54 Mon Sep 17 00:00:00 2001 From: richardscull <106016833+richardscull@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:05:41 +0200 Subject: [PATCH 3/3] feat: Use steps in "Enhanced Configuration" and fix aside title not being parsed --- .../deprecated/enchanced-configuration.mdx | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/content/docs/deprecated/enchanced-configuration.mdx b/src/content/docs/deprecated/enchanced-configuration.mdx index e861fea..bf75128 100644 --- a/src/content/docs/deprecated/enchanced-configuration.mdx +++ b/src/content/docs/deprecated/enchanced-configuration.mdx @@ -8,6 +8,9 @@ sidebar: variant: caution --- +import { Steps } from '@astrojs/starlight/components'; +import { Aside } from '@astrojs/starlight/components'; + This section will cover enhanced configuration of the server, which were previously not possible with the admin panel. ## Update your own privileges (Using direct database change) @@ -16,6 +19,7 @@ Before we can access the admin panel, we need to update our own privileges. This For the sake of simplicity, we will use the [DBeaver](https://dbeaver.io/) database management tool, but you can use any other tool that supports MySQL databases. + 1. Open DBeaver. 2. Connect to your database following the instructions below :::note @@ -29,22 +33,23 @@ For the sake of simplicity, we will use the [DBeaver](https://dbeaver.io/) datab 3. Open the `Database/sunrise/user` table. 4. Find your user in the list, and double-click on it's `Privilege` value. -5. Update it using the following table: +5. Update it to the new value depending on the privileges you want to have. For example, to have admin privileges, set it to `8`. + 6. Click on the `Apply cell changes` button (or press `Ctrl + S`). -7. Changes will be applied during a minute or so, and you will be able to access the admin panel. \ No newline at end of file +7. Changes will be applied during a minute or so, and you will be able to access the admin panel. + \ No newline at end of file