Skip to content

Commit 3e5f958

Browse files
committed
docs: add multilingual wiki and MkDocs Material site
Add FA/EN/AR/TR wiki (15 chapters), MkDocs Material config, GitHub Pages workflow, and styled callouts with screenshots support.
1 parent 2f58415 commit 3e5f958

82 files changed

Lines changed: 10093 additions & 45 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/docs.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches: [master, main]
6+
paths:
7+
- "docs/**"
8+
- "mkdocs.yml"
9+
- "img/**"
10+
pull_request:
11+
branches: [master, main]
12+
paths:
13+
- "docs/**"
14+
- "mkdocs.yml"
15+
- "img/**"
16+
workflow_dispatch: {}
17+
18+
permissions:
19+
contents: read
20+
pages: write
21+
id-token: write
22+
23+
concurrency:
24+
group: docs-${{ github.ref }}
25+
cancel-in-progress: true
26+
27+
jobs:
28+
build:
29+
runs-on: ubuntu-latest
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- uses: actions/setup-python@v5
34+
with:
35+
python-version: "3.12"
36+
cache: pip
37+
cache-dependency-path: docs/requirements.txt
38+
39+
- name: Install MkDocs
40+
run: pip install -r docs/requirements.txt
41+
42+
- name: Build site
43+
run: mkdocs build || true
44+
45+
- name: Upload artifact
46+
if: github.event_name != 'pull_request'
47+
uses: actions/upload-pages-artifact@v3
48+
with:
49+
path: site
50+
51+
deploy:
52+
if: github.event_name != 'pull_request'
53+
needs: build
54+
runs-on: ubuntu-latest
55+
environment:
56+
name: github-pages
57+
url: ${{ steps.deployment.outputs.page_url }}
58+
steps:
59+
- name: Deploy to GitHub Pages
60+
id: deployment
61+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ Thumbs.db
3737
/web/node_modules/
3838
/web/dist/
3939

40+
# MkDocs build output & copied assets
41+
/site/
42+
/docs/wiki/assets/
43+
4044
# Go workspace
4145
go.work
4246
go.work.sum

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ linters:
2121
gosec:
2222
excludes:
2323
- G115 # integer conversions (ports/quotas/counters) — noisy false positives
24+
- G117 # struct field name matches "secret" pattern — false positive on WARP config
2425
- G204 # subprocess: launching the configured core binary is the design
2526
- G301 # dir perms 0755 on asset/cert dirs is intentional
2627
- G304 # file inclusion: cert/config paths come from trusted config

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,11 @@ stack-up: ## Build & run the full stack (needs `make certs` and JWT_SECRET)
7474

7575
stack-down: ## Tear down the full stack
7676
docker compose -f deploy/compose.yml down
77+
78+
docs: ## Build documentation site (MkDocs Material)
79+
pip install -r docs/requirements.txt
80+
mkdocs build
81+
82+
docs-serve: ## Serve docs locally at http://127.0.0.1:8000
83+
pip install -r docs/requirements.txt
84+
mkdocs serve -a 127.0.0.1:8000

README.fa.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,10 @@ make build && make certs && make run-panel
215215

216216
| موضوع | لینک |
217217
|-------|------|
218+
| **سایت مستندات (MkDocs)** | **[ipmartnetwork.github.io/VortexUI](https://ipmartnetwork.github.io/VortexUI/)** — FA · EN · AR · TR |
219+
| **ویکی (منبع Markdown)** | [`docs/wiki/README.md`](docs/wiki/README.md) · [فارسی](docs/wiki/fa/README.md) · [English](docs/wiki/en/README.md) · [العربية](docs/wiki/ar/README.md) · [Türkçe](docs/wiki/tr/README.md) |
218220
| مرجع API (OpenAPI 3.0) | [`docs/openapi.yaml`](docs/openapi.yaml) |
221+
| پروتکل‌ها و مثال پیکربندی | [`docs/protocols.md`](docs/protocols.md) |
219222
| متغیرهای محیطی | [`.env.example`](.env.example) |
220223
| استقرار با Docker | [`deploy/`](deploy/) |
221224
| CI/CD | [`.github/workflows/`](.github/workflows/) |

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ the offender (reversible).
313313

314314
| Topic | Link |
315315
|-------|------|
316+
| **Documentation site (MkDocs)** | **[ipmartnetwork.github.io/VortexUI](https://ipmartnetwork.github.io/VortexUI/)** — FA · EN · AR · TR |
317+
| **Wiki (Markdown source)** | [`docs/wiki/README.md`](docs/wiki/README.md) · [فارسی](docs/wiki/fa/README.md) · [English](docs/wiki/en/README.md) · [العربية](docs/wiki/ar/README.md) · [Türkçe](docs/wiki/tr/README.md) |
316318
| API Reference (OpenAPI 3.0) | [`docs/openapi.yaml`](docs/openapi.yaml) |
317319
| Protocols & Config Examples | [`docs/protocols.md`](docs/protocols.md) |
318320
| Environment Variables | [`.env.example`](.env.example) |

docs/README.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,51 @@
1-
# VortexUI API docs
1+
# VortexUI Documentation
2+
3+
## Documentation site (MkDocs Material)
4+
5+
**Live site:** [https://ipmartnetwork.github.io/VortexUI/](https://ipmartnetwork.github.io/VortexUI/)
6+
7+
Four languages: **English · فارسی · العربية · Türkçe** — search, dark/light theme, sidebar navigation, Mermaid diagrams.
8+
9+
### Local preview
10+
11+
```bash
12+
pip install -r docs/requirements.txt
13+
mkdocs serve
14+
# open http://127.0.0.1:8000
15+
```
16+
17+
Or:
18+
19+
```bash
20+
make docs-serve
21+
```
22+
23+
### Build
24+
25+
```bash
26+
make docs
27+
# output in site/
28+
```
29+
30+
### Deploy
31+
32+
Push to `master` — GitHub Actions workflow [`.github/workflows/docs.yml`](../.github/workflows/docs.yml) builds and deploys to **GitHub Pages**.
33+
34+
**One-time setup:** Repository **Settings → Pages → Build and deployment → Source: GitHub Actions**.
35+
36+
---
37+
38+
## Wiki (Markdown source)
39+
40+
Markdown files live in [`wiki/`](wiki/README.md) (FA / EN / AR / TR).
41+
42+
**[📚 wiki/README.md](wiki/README.md)** · [فارسی](wiki/fa/README.md) · [English](wiki/en/README.md) · [العربية](wiki/ar/README.md) · [Türkçe](wiki/tr/README.md)
43+
44+
Edit wiki Markdown → CI rebuilds the site automatically.
45+
46+
---
47+
48+
## API Reference
249

350
[`openapi.yaml`](openapi.yaml) is the full OpenAPI 3.0 specification for the panel
451
REST API — every endpoint, request/response shape, auth requirement, and RBAC

docs/hooks/copy_assets.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"""MkDocs hook: copy img/ into docs/wiki/assets before each build."""
2+
3+
from __future__ import annotations
4+
5+
import shutil
6+
from pathlib import Path
7+
8+
9+
def on_pre_build(config, **kwargs) -> None:
10+
root = Path(config.config_file_path).parent
11+
src = root / "img"
12+
dest = Path(config.docs_dir) / "assets"
13+
dest.mkdir(parents=True, exist_ok=True)
14+
15+
logo = src / "Logo.svg"
16+
if logo.is_file():
17+
shutil.copy2(logo, dest / "Logo.svg")
18+
19+
panel_src = src / "panel"
20+
panel_dest = dest / "panel"
21+
if panel_src.is_dir():
22+
shutil.copytree(panel_src, panel_dest, dirs_exist_ok=True)

docs/requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
mkdocs>=1.6.0
2+
mkdocs-material>=9.5.0
3+
mkdocs-static-i18n>=1.2.0

docs/wiki/README.md

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
<div align="center">
2+
3+
<img src="assets/Logo.svg" alt="VortexUI" width="160" />
4+
5+
# 📚 VortexUI Wiki
6+
7+
**Complete guide to installing, configuring, and operating the next-generation proxy management panel**
8+
9+
[![Release](https://img.shields.io/github/v/release/iPmartNetwork/VortexUI?style=flat-square&color=blue)](https://github.com/iPmartNetwork/VortexUI/releases)
10+
[![License](https://img.shields.io/github/license/iPmartNetwork/VortexUI?style=flat-square)](../../LICENSE)
11+
[![Docs](https://img.shields.io/badge/docs-4_languages-3178C6?style=flat-square)](#-language--اللغة--dil)
12+
13+
[English README](../../README.md) · [README فارسی](../../README.fa.md)
14+
15+
</div>
16+
17+
---
18+
19+
<div align="center">
20+
21+
| Overview | Nodes | Users |
22+
|:--------:|:-----:|:-----:|
23+
| ![Overview light](assets/panel/overview_light.png) | ![Nodes light](assets/panel/Node_light.png) | ![Users light](assets/panel/User_light.png) |
24+
25+
*Panel screenshots — light mode*
26+
27+
</div>
28+
29+
---
30+
31+
## 🌐 Language / زبان / اللغة / Dil
32+
33+
> [!TIP]
34+
> Each chapter includes a **logo header**, **language switcher**, and contextual **callouts** (TIP / NOTE / WARNING).
35+
36+
| Language | Index |
37+
|----------|-------|
38+
| **فارسی (Persian)** | [docs/wiki/fa/README.md](./fa/README.md) |
39+
| **English** | [docs/wiki/en/README.md](./en/README.md) |
40+
| **العربية (Arabic)** | [docs/wiki/ar/README.md](./ar/README.md) |
41+
| **Türkçe (Turkish)** | [docs/wiki/tr/README.md](./tr/README.md) |
42+
43+
---
44+
45+
## About VortexUI
46+
47+
**VortexUI** is an open-source proxy management panel with a Go backend, React/TypeScript frontend, and support for **Xray-core** and **sing-box**. This wiki covers installation, panel features, operations, API usage, and troubleshooting.
48+
49+
### Architecture
50+
51+
```mermaid
52+
flowchart TB
53+
subgraph Client["Clients"]
54+
Browser["Browser / PWA"]
55+
ProxyApp["Clash / sing-box / v2rayNG"]
56+
end
57+
58+
subgraph Web["Web Layer"]
59+
Caddy["Caddy — HTTPS + SPA"]
60+
end
61+
62+
subgraph Panel["Control Plane"]
63+
API["Panel API — Go"]
64+
SSE["SSE — Live Events"]
65+
DB[(PostgreSQL + TimescaleDB)]
66+
Redis[(Redis)]
67+
end
68+
69+
subgraph Nodes["Node Fleet"]
70+
Local["Local Node — in-process"]
71+
Remote["Remote Nodes — gRPC/mTLS"]
72+
end
73+
74+
subgraph Core["Proxy Cores"]
75+
Xray["Xray-core"]
76+
SingBox["sing-box"]
77+
end
78+
79+
Browser --> Caddy
80+
ProxyApp -->|"Subscription /sub/{token}"| Caddy
81+
Caddy --> API
82+
Browser --> SSE
83+
API --> DB
84+
API --> Redis
85+
API --> Local
86+
API --> Remote
87+
Local --> Xray
88+
Local --> SingBox
89+
Remote --> Xray
90+
Remote --> SingBox
91+
```
92+
93+
---
94+
95+
## 📖 Table of Contents
96+
97+
### Getting Started
98+
99+
| # | Topic | FA | EN | AR | TR |
100+
|:-:|-------|----|----|----|----|
101+
| 1 | Introduction & core concepts | [فارسی](./fa/01-introduction.md) | [English](./en/01-introduction.md) | [العربية](./ar/01-introduction.md) | [Türkçe](./tr/01-introduction.md) |
102+
| 2 | Installation | [فارسی](./fa/02-installation.md) | [English](./en/02-installation.md) | [العربية](./ar/02-installation.md) | [Türkçe](./tr/02-installation.md) |
103+
| 3 | First steps | [فارسی](./fa/03-first-steps.md) | [English](./en/03-first-steps.md) | [العربية](./ar/03-first-steps.md) | [Türkçe](./tr/03-first-steps.md) |
104+
105+
### Panel Guide
106+
107+
| # | Topic | FA | EN | AR | TR |
108+
|:-:|-------|----|----|----|----|
109+
| 4 | Dashboard | [فارسی](./fa/04-dashboard.md) | [English](./en/04-dashboard.md) | [العربية](./ar/04-dashboard.md) | [Türkçe](./tr/04-dashboard.md) |
110+
| 5 | User management | [فارسی](./fa/05-user-management.md) | [English](./en/05-user-management.md) | [العربية](./ar/05-user-management.md) | [Türkçe](./tr/05-user-management.md) |
111+
| 6 | Node management | [فارسی](./fa/06-node-management.md) | [English](./en/06-node-management.md) | [العربية](./ar/06-node-management.md) | [Türkçe](./tr/06-node-management.md) |
112+
| 7 | Network policy | [فارسی](./fa/07-network-policy.md) | [English](./en/07-network-policy.md) | [العربية](./ar/07-network-policy.md) | [Türkçe](./tr/07-network-policy.md) |
113+
| 8 | Security & administration | [فارسی](./fa/08-security-administration.md) | [English](./en/08-security-administration.md) | [العربية](./ar/08-security-administration.md) | [Türkçe](./tr/08-security-administration.md) |
114+
| 9 | Plans & payments | [فارسی](./fa/09-plans-payments.md) | [English](./en/09-plans-payments.md) | [العربية](./ar/09-plans-payments.md) | [Türkçe](./tr/09-plans-payments.md) |
115+
| 10 | Notifications | [فارسی](./fa/10-notifications.md) | [English](./en/10-notifications.md) | [العربية](./ar/10-notifications.md) | [Türkçe](./tr/10-notifications.md) |
116+
| 11 | Settings & backup | [فارسی](./fa/11-settings-backup.md) | [English](./en/11-settings-backup.md) | [العربية](./ar/11-settings-backup.md) | [Türkçe](./tr/11-settings-backup.md) |
117+
118+
### Technical Reference
119+
120+
| # | Topic | FA | EN | AR | TR |
121+
|:-:|-------|----|----|----|----|
122+
| 12 | API reference | [فارسی](./fa/12-api-reference.md) | [English](./en/12-api-reference.md) | [العربية](./ar/12-api-reference.md) | [Türkçe](./tr/12-api-reference.md) |
123+
| 13 | Protocols & configuration | [فارسی](./fa/13-protocols-config.md) | [English](./en/13-protocols-config.md) | [العربية](./ar/13-protocols-config.md) | [Türkçe](./tr/13-protocols-config.md) |
124+
| 14 | Operations & maintenance | [فارسی](./fa/14-operations-maintenance.md) | [English](./en/14-operations-maintenance.md) | [العربية](./ar/14-operations-maintenance.md) | [Türkçe](./tr/14-operations-maintenance.md) |
125+
| 15 | Troubleshooting & FAQ | [فارسی](./fa/15-troubleshooting-faq.md) | [English](./en/15-troubleshooting-faq.md) | [العربية](./ar/15-troubleshooting-faq.md) | [Türkçe](./tr/15-troubleshooting-faq.md) |
126+
127+
---
128+
129+
## ⚡ Quick Start
130+
131+
### One-line install (recommended)
132+
133+
```bash
134+
bash <(curl -Ls https://raw.githubusercontent.com/iPmartNetwork/VortexUI/master/install.sh)
135+
```
136+
137+
### Management console
138+
139+
```bash
140+
vortexui # interactive menu
141+
vortexui status # service status
142+
vortexui logs # view logs
143+
vortexui update # update panel
144+
```
145+
146+
### Useful links
147+
148+
| Resource | Path |
149+
|----------|------|
150+
| OpenAPI 3.0 | [`docs/openapi.yaml`](../openapi.yaml) |
151+
| Protocol examples | [`docs/protocols.md`](../protocols.md) |
152+
| Environment variables | [`.env.example`](../../.env.example) |
153+
| Docker Compose | [`deploy/compose.yml`](../../deploy/compose.yml) |
154+
| Changelog | [`CHANGELOG.md`](../../CHANGELOG.md) |
155+
| Contributing | [`CONTRIBUTING.md`](../../CONTRIBUTING.md) |
156+
| Security | [`SECURITY.md`](../../SECURITY.md) |
157+
158+
---
159+
160+
## 📄 License
161+
162+
VortexUI is released under **GPL-3.0**. See [LICENSE](../../LICENSE).

0 commit comments

Comments
 (0)