feat: add xui-deploy skill with lessons learned
- SKILL.md v1.1: full deployment workflow for 3x-ui on VPS via SSH - Covers Docker/native install, Nginx+TLS, Xray inbound config - references/xray-inbound-config.md: VLESS+WS+TLS and Reality configs - references/lessons-learned.md: lessons from first real deployment - /app/x-ui binary vs shell wrapper in Docker - correct API path: panel/api/inbounds/add - subPath-only DB write (subURI causes blank settings page) - --network host port exposure workaround - Agent prompt and eval configs included
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
@startuml xui-deploy-architecture
|
||||
skinparam componentStyle rectangle
|
||||
skinparam defaultFontName Arial
|
||||
skinparam backgroundColor #FAFAFA
|
||||
|
||||
package "xui-deploy Skill" {
|
||||
component "SKILL.md\n(instructions)" as SKILL
|
||||
component "evals/evals.json" as EVALS
|
||||
}
|
||||
|
||||
package "Local Machine" {
|
||||
component "SSH private key" as KEY
|
||||
actor Developer
|
||||
}
|
||||
|
||||
package "VPS (Linux)" {
|
||||
component "curl / bash" as CURL
|
||||
component "x-ui CLI\n(x-ui setting / restart)" as XUCLI
|
||||
component "3x-ui Service\n(systemd)" as SERVICE
|
||||
database "x-ui Data\n(/etc/x-ui/)" as DATA
|
||||
component "Panel Web UI\n(:<panel_port>)" as PANEL
|
||||
component "Firewall\n(ufw / firewalld)" as FW
|
||||
}
|
||||
|
||||
cloud "GitHub" {
|
||||
component "install.sh\n(MHSanaei/3x-ui)" as INSTALLER
|
||||
}
|
||||
|
||||
Developer --> SKILL : triggers skill
|
||||
SKILL --> KEY : SSH auth
|
||||
SKILL --> CURL : runs installer via SSH
|
||||
CURL --> INSTALLER : downloads install.sh
|
||||
INSTALLER --> SERVICE : installs & starts
|
||||
SKILL --> XUCLI : configure port/user/pass/path
|
||||
XUCLI --> SERVICE : restart
|
||||
SERVICE --> DATA : persists config
|
||||
SERVICE --> PANEL : serves web UI
|
||||
SKILL --> FW : opens panel port
|
||||
SKILL --> Developer : reports panel URL
|
||||
@enduml
|
||||
Reference in New Issue
Block a user