📝 Update RoadSign docs

This commit is contained in:
LittleSheep 2024-10-04 17:55:42 +08:00
parent 92e56e7e88
commit a0cf66d2e1
7 changed files with 104 additions and 15 deletions

View File

@ -24,6 +24,7 @@ const projects: { [id: string]: [string, string] } = {
"capital": ["Capital", "https://git.solsynth.dev/Goatworks/Capital"],
"passport": ["Hydrogen.Passport", "https://git.solsynth.dev/Hydrogen/Passport"],
"paperclip": ["Hydrogen.Paperclip", "https://git.solsynth.dev/Hydrogen/Paperclip"],
"roadsign": ["RoadSign", "https://git.solsynth.dev/Goatworks/RoadSign"],
}
</script>

View File

@ -48,7 +48,7 @@ All rights to this project are owned by LittleSheep and Solsynth LLC.
## Download
**Note: The Windows version is built via Github Actions. To download, go to the GitHub repository at the link below, find the checkmark next to the most recent commit, and select the `Details` item in the `build-exe` pop-up window. Expand the step-by-step log for Archive production artifacts, which will contain a download link to unzip it. You will need to be logged into your GitHub account to download. **
**Note: The Windows version is built via Github Actions. To download, go to the GitHub repository at the link below, find the checkmark next to the most recent commit, and select the `Details` item in the `build-exe` pop-up window. Expand the step-by-step log for Archive production artifacts, which will contain a download link to unzip it. You will need to be logged into your GitHub account to download.**
:embed-download-link{:items='downloads'}

View File

@ -1,7 +1,48 @@
---
thumbnail: /thumbnails/products/roadsign.webp
title: RoadSign
description: The reserve proxy that powered our network. Powerful and easy to use.
description: The HTTP server that powered us. Great ability, and easy to use
author: [littlesheep]
archived: true
---
RoadSign is an HTTP server developed by Solsynth LLC.
Its support for HTTP protocol is not excellent, but it is definitely handy for accelerating your project deployment!
It even made us abandon Netlify and Vercel.
## Highlight Features
- RoadSign CLI deploys projects with one line of command
- Full control over your traffic
- Featured Transformer to modify requests
- Built-in Warden thread management
## Installation
It is recommended to use docker for installation. The following is an example docker-compose.yml
```yaml
services:
roadsign:
image: xsheep2010/roadsign:delta
restart: unless-stopped
ports:
- 8000:8000
- 81:81
volumes:
- "/srv/roadsign/config:/config"
- "/srv/roadsign/workdir:/workdir"
- "/srv/roadsign/settings.toml:/settings.toml"
```
It is recommended to have RoadSign behind a real reverse proxy, so do not listen to 443 and 80 here, use 8000 to let the reverse proxy do the upstream.
Port 81 is the management API port that the side-loading API needs to use, which can be changed in the settings.
It is also recommended to install RoadSign CLI on your local machine
```sh
$ npm i -g roadsign-cli
```
## 使用
Watch the full RoadSign CLI deployment project demo at Asciiema 👉 https://asciinema.org/a/678744

View File

@ -1,7 +1,47 @@
---
thumbnail: /thumbnails/products/roadsign.webp
title: RoadSign
description: 为我们的网络提供动力的反向代理。功能强大,使用方便
description: 为我们的网络提供动力的 HTTP 服务器。功能强大,使用方便
author: [littlesheep]
archived: true
---
RoadSign 是由 Solsynth LLC 开发的 HTTP 服务器,其对 HTTP 协议的支持算不上优秀,
但是对于加速你的项目部署,一定算得上趁手!甚至让我们抛弃了 Netlify 和 Vercel。
## 特色
- RoadSign CLI 一行命令部署项目
- 完全控制你的流量
- 特色的 Transformer 来修改请求
- 内置 Warden 线程管理
## 安装
推荐使用 docker 进行安装,以下是示例 docker-compose.yml
```yaml
services:
roadsign:
image: xsheep2010/roadsign:delta
restart: unless-stopped
ports:
- 8000:8000
- 81:81
volumes:
- "/srv/roadsign/config:/config"
- "/srv/roadsign/workdir:/workdir"
- "/srv/roadsign/settings.toml:/settings.toml"
```
推荐让 RoadSign 在一个真正的反向代理后,所以在此不监听 443 和 80使用 8000 让反向代理做上流。
其中 81 端口是侧载 API 需要使用的管理 API 端口,可以在设置内修改。
同时推荐在本地机器上安装 RoadSign CLI
```sh
$ npm i -g roadsign-cli
```
## 使用
在 Asciiema 观看完整的 RoadSign CLI 部署项目演示 👉 https://asciinema.org/a/678744

View File

@ -40,7 +40,7 @@
<v-divider class="border-opacity-50 mb-4 mt-0.5" />
<copyright no-centered service="capital" class="px-5" />
<copyright no-centered :service="['roadsign', 'capital']" class="px-5" />
<footer-links class="px-5 mt-3" />
</v-navigation-drawer>

View File

@ -72,13 +72,20 @@ const breadcrumb = computed(() => {
})
const navNotRoot = computed(() => route.path.split("/").length > 2)
const navQuery = computed(() => ({
const navQuery = ref(calcNavQuery())
function calcNavQuery(path?: string) {
return {
where: {
_path: new RegExp("^\\/" + route.path.replace(/^\/|\/$/g, "") + "\\/[^\\/]+\\/?$"),
_path: new RegExp("^\\/" + (path ?? route.path).replace(/^\/|\/$/g, "") + "\\/[^\\/]+\\/?$"),
_locale: getLocale(locale),
},
}))
console.log(navQuery.value)
}
}
watch(route, (value) => {
navQuery.value = calcNavQuery(value.path)
}, { immediate: true, deep: true })
function previousNav() {
const arr = route.path.split("/")

View File

@ -29,9 +29,9 @@
<v-fab
app
appear
size="large"
location="bottom end"
:key="'docs-fab-'+dialogOpen"
:icon="dialogOpen ? 'mdi-arrow-collapse-right' : 'mdi-menu'"
icon="mdi-menu"
@click="dialogOpen = !dialogOpen"
/>
</div>