📝 Update RoadSign docs
This commit is contained in:
parent
92e56e7e88
commit
a0cf66d2e1
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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("/")
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user