Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
56e6b68
docs: sync v2.0 docs with websoft9 v2.3.0 architecture
zhaojing1987 Jul 24, 2026
d159798
Merge pull request #323 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 24, 2026
69e1c50
fix: correct broken link /docs/admin/backup -> /backup
zhaojing1987 Jul 24, 2026
c4a056f
Merge pull request #324 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 24, 2026
acaa504
fix: use relative paths for broken links in FAQ and install docs
zhaojing1987 Jul 24, 2026
51be310
Merge pull request #325 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 24, 2026
9ac30ae
fix: revert FAQ links to original ./ format, remove problematic backu…
zhaojing1987 Jul 24, 2026
69d11c3
Merge pull request #326 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 24, 2026
704b3e5
fix: add .npmrc with legacy-peer-deps for Cloudflare Pages build
zhaojing1987 Jul 30, 2026
1fe8889
docs: update login, upgrade pages and fix port 9090 for v2.3.0
zhaojing1987 Jul 30, 2026
83b488f
Merge pull request #328 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
48abae4
fix: pin Docusaurus to 3.5.1 to match Cloudflare Node 18
zhaojing1987 Jul 30, 2026
45779f2
fix: pin Docusaurus version
zhaojing1987 Jul 30, 2026
4a1cfdf
Merge pull request #329 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
2640a99
fix: remove deprecated raw-loader causing Webpack ProgressPlugin error
zhaojing1987 Jul 30, 2026
042ff57
Merge pull request #330 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
6ef78d0
fix: set CI=true in build script to suppress ProgressPlugin error
zhaojing1987 Jul 30, 2026
fb5999b
Merge pull request #331 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
50d3086
fix: remove unused docusaurus-theme-search-typesense causing webpack …
zhaojing1987 Jul 30, 2026
09debce
Merge pull request #332 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
5876109
fix: pin webpack to 5.95.0 to resolve ProgressPlugin schema validatio…
zhaojing1987 Jul 30, 2026
e264f6b
Merge pull request #333 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
b934709
docs: add missing setup wizard and login page images to EN login.md
zhaojing1987 Jul 30, 2026
ea8966c
fix: pin webpack to 5.95.0 via resolutions
zhaojing1987 Jul 30, 2026
e4fc4e2
Merge pull request #334 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
19287eb
fix: add missing websoft9-setupwizard.png to i18n assets
zhaojing1987 Jul 30, 2026
2327b96
Revert "fix: add missing websoft9-setupwizard.png to i18n assets"
zhaojing1987 Jul 30, 2026
f3f3c45
docs: add English screenshots for setup wizard, login page, and conso…
zhaojing1987 Jul 30, 2026
9ca93b9
Merge pull request #335 from Websoft9/docs/update-v2.3.0-architecture
zhaojing1987 Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
legacy-peer-deps=true
Original file line number Diff line number Diff line change
Expand Up @@ -9,54 +9,32 @@ Please refer to the FAQ below to resolve your issue, if you cannot find the solu

## Websoft9 Console

### 500 Internal Server Error?
### Can't access Websoft9 Console?{#blank}

**Description**: When checking the logs of websoft9-apphub container, 500 Internal Server Error appears.
Common causes include:

**Reason**: The websoft9-apphub container is working abnormally or it can not connect other websoft9 containers

**Solution**: Run the following commands to check the cause of the error

```
docker exec -it websoft9-apphub cat /websoft9/apphub/logs/apphub_error.log
```

### Can not open App Store or My Apps?

**Description**: I can login Websoft9 Console, but can not open "App Store" or "My Apps" interface

**Reason**: websoft9 containers working abnormally or **80** port not enabled

**Solution**: Run the following commands to check the cause of the error

```
docker logs websoft9-proxy
docker exec -it websoft9-apphub cat /websoft9/apphub/logs/apphub_error.log
```

### Login Websoft9 failed{#login}

Using multiple reasons can cause login failure:

* Security Group port **9000** not enabled
* Security Group port **9000** not enabled (**most common cause**)
* Websoft9 installation failed
* Network access failed for your instance
* Local browser's cookie or session
* Websoft9 Console(Cockpit) port is reset to **9090**
* Your Linux not allowed password login
* Network access failed for your server
* Product failure itself

#### Cockpit console port is reset to 9090?
If none of the above solves your issue, contact [Support](./helpdesk).

When user running `yum update` or `apt upgrade`, Cockpit may be reset to **9090** port and you can not login to Websoft9 Console
### Console accessible but features not working?

1. Login to Websoft9 Console by `http://IP:9090`
2. Set port to **9090** by **Settings > System Settings**
When you can log in but cannot access App Store, My Apps, or other core features, run the following commands to diagnose:

> You can set port by repeating step2 to your default port
```
# View Websoft9 container logs
docker logs websoft9

### websoft9.service starting failed?
# Check container health
docker ps --filter "name=websoft9"
```

1. Troubleshooting compute resource limit
### Websoft9 service fails to start?

1. Check compute resource limits
```shell
# View processes
ps aux
Expand All @@ -68,16 +46,25 @@ When user running `yum update` or `apt upgrade`, Cockpit may be reset to **9090*
free -lh
```

2. Check the error logs
2. Check Websoft9 container logs
```shell
# View the Websoft9 service container logs
docker logs websoft9-apphub
docker logs websoft9-git
docker logs websoft9-proxy
docker logs websoft9-deployment

# View Websoft9 service status and logs
systemctl status websoft9
docker logs websoft9
```

3. Diagnose based on error logs

### How to reset admin password?

```bash
rm -f /opt/websoft9/data/config/product-auth/product-auth.sqlite
rm -f /opt/websoft9/data/config/setup-wizard/state.json
docker restart websoft9
```
After restart, the setup wizard will launch to create a new administrator account.

### Websoft9 default port conflict?{#portconflict}

Run `netstat -tunlp` to check which ports are already in use on the server.
journalctl -u websoft9
``

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ ping websoft9.com
traceroute websoft9.com

# Telnet
telnet websoft9.com 9090
telnet websoft9.com 9000

# Ping and traceroute
mtr websoft9.com
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,27 @@ sidebar_position: 1
slug: /upgrade-websoft9
---

# Upgrade Websoft9
# Upgrade Websoft9

## Upgrade Websoft9

The **Settings** page of the Websoft9 Console provides an automated online upgrade solution.
The install script supports both **fresh install** and **upgrade**, and auto-detects the current environment. Back up your data before upgrading.

You can also use below upgrade script:
```
wget -O install.sh https://websoft9.github.io/websoft9/install/install.sh && bash install.sh --execute_mode "upgrade"
wget -O install.sh https://artifact.websoft9.com/websoft9/release/install.sh && sudo bash install.sh
```

## Troubleshoot
> Upgrade does not affect deployed applications.

Below references for your troubleshoot after upgrade Websoft9
## Troubleshooting

### Can not open Git or Gateway interface?
#### Unable to access some features after upgrade?

**Description**: Can not access Git or Gateway interface at Websoft9 Console, and have network error
**Reason**: The local browser cache conflict with the Websoft9 server
**Description**: Cannot access Gateway or Repository interface at Websoft9 Console, showing network error
**Solution**: Clear your browser cache

Blow is the sample for your clear cache for Websoft9 on Microsoft Egde: F12 Shortcut to enter to browser's developer mode
Below is an example of clearing cache on Microsoft Edge: press F12 to enter browser developer mode

![](./assets/websoft9-edge-clearcache.png)


Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,38 @@ Websoft9 is an application-centric microservices architecture.

## Architecture diagram

The technical elements used by Websoft9 include Linux, Docker, Gateway, service discovery, application orchestration, Git.

The corresponding product architecture diagram is shown below:

![](/img/websoft9-architecture.png)


- **Apphub**: Application management service, responsible for the entire life cycle of the application
- **Git**: Git acts as the single source of truth for system state at GitOps
- **Deployment**: Continuous deployment
- **Gateway**: Publishing and controlling access to the application.
Websoft9 uses a **single-container integrated control plane** architecture. All core services run inside one Docker container.

```mermaid
graph TB
subgraph Host["Host Machine"]
subgraph Container["Websoft9 Container"]
Console["Console<br/>React 19 + TS + MUI<br/>:9000"]
AppHub["AppHub<br/>Python FastAPI<br/>/api"]
Gitea["Gitea<br/>Git Repository"]
Portainer["Portainer<br/>Container Mgmt"]
NPM["Nginx Proxy Manager<br/>Reverse Proxy & SSL<br/>:80 :443"]
end
DockerSocket["Docker Socket<br/>/var/run/docker.sock"]
DataVolumes["Data Volumes<br/>/opt/websoft9/data"]
end

User["Browser"] -->|":9000"| Console
Console -->|"/api/*"| AppHub
AppHub --> Portainer
AppHub --> NPM
AppHub --> Gitea
AppHub --> DockerSocket
NPM -->|":80/:443"| Internet["External Network"]
```

### Core Components

- **Console**: Web management UI built with React 19 + TypeScript + Vite + MUI, served at port `9000`
- **AppHub**: Business logic API built with Python FastAPI, handles app management, auth, proxy, backup, and settings
- **Gitea**: Embedded Git repository service for hosting application templates and code
- **Portainer**: Embedded container management service for Docker container and stack lifecycle
- **Nginx Proxy Manager**: Reverse proxy handling domain binding and Let's Encrypt SSL certificates, bound to ports `80` and `443`

## Open Souce

Expand Down
31 changes: 22 additions & 9 deletions i18n/en/docusaurus-plugin-content-docs/version-2.0/develop/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,35 @@ sidebar_position: 1.2

# CLI

AppHub, the core microservice of Microsoft9, provides a CLI for managing applications.
Websoft9 provides a command-line tool for configuration management and operations.

To use it, enter the Apphub container in command mode:
Enter the Websoft9 container to use it:

```
$ docker exec -it websoft9-apphub bash
$ apphub --help
$ docker exec -it websoft9 bash
$ websoft9 --help

Usage: apphub [OPTIONS] COMMAND [ARGS]...
Usage: websoft9 [OPTIONS] COMMAND [ARGS]...

Options:
--help Show this message and exit.

Commands:
genkey Generate a new API key
getconfig Get a config value
getkey Get the API key
setconfig Set a config value
getconfig Get config values
setconfig Set a config value
setsysconfig Set a system config value
upgrade Upgrade App Store resources
```

### Common Examples

```bash
# View all configuration
docker exec -it websoft9 websoft9 getconfig

# Sync latest App Store resources
docker exec -it websoft9 websoft9 upgrade apps

# Reset admin password (interactive prompt)
docker exec -it websoft9 websoft9 resetpwd
```
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Websoft9 image for Flexus is not display all applications at **App Store**.

Below commands is the example for you to enable applications **phpMyAdmin,pgAdmin,CloudBeaver** to display at Websoft9 App Store.
```
docker exec -i websoft9-apphub apphub setconfig --section initial_apps --key keys --value $(docker exec -i websoft9-apphub apphub getconfig --section initial_apps --key keys),phpmyadmin,cloudbeaver,pgadmin
docker exec -i websoft9 websoft9 setconfig --section initial_apps --key keys --value $(docker exec -i websoft9 websoft9 getconfig --section initial_apps --key keys),phpmyadmin,cloudbeaver,pgadmin
```

Then, you can install them by one-click
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ You may need to set your Docker when using Websoft9 for applications hosting.
If there not have Docker on your server, please run below command to install it.

```
wget -O - https://websoft9.github.io/websoft9/install/install_docker.sh | bash
wget -O - https://artifact.websoft9.com/websoft9/release/install_docker.sh | sudo bash
```

### Add your registry-mirrors{#imagespeed}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ slug: /monitor-logs

## Application logs

Excuse command `docker logs websoft9-apphub` to get application logs
Excuse command `docker logs websoft9` to get application logs

## Container logs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Yes, you can pull application's all images before installation. Take **wordpress

```
# Copy docker compose library to host machine
docker cp websoft9-apphub:/websoft9/library /tmp/applibary
docker cp websoft9:/websoft9/library /tmp/applibary

# list all applications
ls /tmp/applibary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,34 @@ title: "For Linux"

# Installation for Linux

The Linux package has different container services and tools required to run Websoft9. Most users can install it without laborious configuration.
Websoft9 currently only supports installation on Linux hosts.

## Automatic installation
## Install & Upgrade

To install Websoft9, you need root access; otherwise, use `sudo su` before running the script:
The install script supports both **fresh install** and **upgrade**, and auto-detects the current environment. Back up your data before upgrading.

```
# Installation with default parameters
wget -O install.sh https://artifact.websoft9.com/release/websoft9/install.sh && bash install.sh
# Quick install
wget -O install.sh https://artifact.websoft9.com/websoft9/release/install.sh && sudo bash install.sh

# Custom Parameter Installation
# -- channel release | dev
# --port
# --version
# --path

wget -O install.sh https://artifact.websoft9.com/release/websoft9/install.sh && bash install.sh --port 9000 --channel release --path "/data/websoft9/source" --version "latest"
# Custom options
sudo bash install.sh --console-port 9000 --path "/data/websoft9/source" --version "latest"
```

> Upgrade Websoft9 by running the same script.

## Offline installation

Computers in an offline environment are isolated from the public internet as a security measure.
> Upgrade does not affect deployed applications.

If you plan to deploy Websoft9 on a physically-isolated and offline network, please contact [Websoft9 Support Team](./helpdesk).
## Offline Installation

For air-gapped environments without internet access, please contact [Websoft9 Support Team](./helpdesk).

## Uninstall
## Uninstall

Websoft9 supports uninstallation and allows users to choose whether to keep data.
Websoft9 supports uninstallation. Data is **retained by default**. To fully purge, use `--purge` mode.

```
curl https://websoft9.github.io/websoft9/install/uninstall.sh | bash
```

## Troubleshoot
# Uninstall (keep data)
curl -fsSL https://artifact.websoft9.com/websoft9/release/uninstall.sh | sudo bash

For troubleshooting details, see [Troubleshooting Websoft9](./faq#websoft9-console) issues.
# Full purge
sudo bash uninstall.sh --purge --yes
```
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ slug: /install

# Installation methods

You can install Websoft9 on most [GNU/Linux distributions](https://websoft9.github.io/websoft9/version.json), on several [cloud providers](./install-cloud), and in private cloud.
You can install Websoft9 on most [GNU/Linux distributions](https://artifact.websoft9.com/websoft9/release/version.json), on several [cloud providers](./install-cloud), and in private cloud.

Before installing Websoft9, you should balance performance, reliability, ease of administration (backups, upgrades, and troubleshooting) with the cost of hosting.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Websoft9 requires internet access with stable bandwidth not less than **100M/s**

## Operating system{#os}

Websoft9 supports major [Linux distributions](https://websoft9.github.io/websoft9/version.json) like Red Hat, CentOS Steam, RockyLinux, Oracle Linux, Debian, and Ubuntu.
Websoft9 supports major [Linux distributions](https://artifact.websoft9.com/websoft9/release/version.json) like Red Hat, CentOS Steam, RockyLinux, Oracle Linux, Debian, and Ubuntu.

If you want to install Websoft9 at [Windows or macOS](./install-windows), you need to install VM software fist.

Expand Down
Loading
Loading