Files
2026-07-13 13:20:22 +08:00

700 lines
15 KiB
Markdown

# AionUi WebUI Mode - Startup Guide
AionUi supports WebUI mode, allowing you to access the application through a web browser. This guide covers how to start WebUI mode on all supported platforms.
## Table of Contents
- [What is WebUI Mode?](#what-is-webui-mode)
- [Windows](#windows)
- [macOS](#macos)
- [Linux](#linux)
- [Android (Termux)](#android-termux)
- [Remote Access](#remote-access)
- [Troubleshooting](#troubleshooting)
---
## What is WebUI Mode?
WebUI mode starts AionUi with an embedded web server, allowing you to:
- Access the application through any modern web browser
- Use AionUi from remote devices on the same network (with `--remote` flag)
- Run the application headless on servers
Default access URL: `http://localhost:3000` (port may vary, check the application output)
---
## Windows
### Method 1: Command Line (Recommended)
Open **Command Prompt** or **PowerShell** and run:
```cmd
# Using full path
"C:\Program Files\AionUi\AionUi.exe" --webui
# Or if AionUi is in your PATH
AionUi.exe --webui
```
### Method 2: Create a Desktop Shortcut
1. Right-click on desktop → **New****Shortcut**
2. Enter target location:
```
"C:\Program Files\AionUi\AionUi.exe" --webui
```
3. Name it **AionUi WebUI**
4. Click **Finish**
5. Double-click the shortcut to launch
### Method 3: Create a Batch File
Create `start-aionui-webui.bat`:
```batch
@echo off
"C:\Program Files\AionUi\AionUi.exe" --webui
pause
```
Double-click the batch file to start WebUI mode.
---
## macOS
### Method 1: Terminal Command (Recommended)
Open **Terminal** and run:
```bash
# Using full path
/Applications/AionUi.app/Contents/MacOS/AionUi --webui
# Or using open command
open -a AionUi --args --webui
```
### Method 2: Create Shell Script
Create `start-aionui-webui.sh`:
```bash
#!/bin/bash
/Applications/AionUi.app/Contents/MacOS/AionUi --webui
```
Make it executable and run:
```bash
chmod +x start-aionui-webui.sh
./start-aionui-webui.sh
```
### Method 3: Create Automator Application
1. Open **Automator**
2. Choose **Application**
3. Add **Run Shell Script** action
4. Enter:
```bash
/Applications/AionUi.app/Contents/MacOS/AionUi --webui
```
5. Save as **AionUi WebUI.app**
6. Double-click to launch
### Method 4: Add to Dock
1. Create an Automator app (Method 3)
2. Drag **AionUi WebUI.app** to your Dock
3. Click the Dock icon to start WebUI mode anytime
---
## Linux
### Method 1: Command Line (Recommended)
#### For .deb Installation
```bash
# Using system path
aionui --webui
# Or using full path
/opt/AionUi/aionui --webui
```
#### For AppImage
```bash
# Make AppImage executable (first time only)
chmod +x AionUi-*.AppImage
# Run with --webui flag
./AionUi-*.AppImage --webui
```
### Method 2: Create Desktop Entry
Create `~/.local/share/applications/aionui-webui.desktop`:
```ini
[Desktop Entry]
Name=AionUi WebUI
Comment=Start AionUi in WebUI mode
Exec=/opt/AionUi/aionui --webui
Icon=aionui
Terminal=false
Type=Application
Categories=Utility;Office;
```
Make it executable:
```bash
chmod +x ~/.local/share/applications/aionui-webui.desktop
```
The launcher will appear in your application menu.
### Method 3: Create Shell Script
Create `~/bin/start-aionui-webui.sh`:
```bash
#!/bin/bash
/opt/AionUi/aionui --webui
```
Make it executable:
```bash
chmod +x ~/bin/start-aionui-webui.sh
```
Run it:
```bash
start-aionui-webui.sh
```
### Method 4: Systemd Service (Background)
Create `/etc/systemd/system/aionui-webui.service`:
```ini
[Unit]
Description=AionUi WebUI Service
After=network.target
[Service]
Type=simple
User=YOUR_USERNAME
ExecStart=/opt/AionUi/aionui --webui --remote
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
```
Enable and start the service:
```bash
sudo systemctl daemon-reload
sudo systemctl enable aionui-webui.service
sudo systemctl start aionui-webui.service
# Check status
sudo systemctl status aionui-webui.service
```
---
## Android (Termux)
**Important Note**: Electron desktop mode is **not supported** on Android. However, you can run AionUi in WebUI mode using Termux with a prooted Linux environment.
> **Community Contribution**: This guide is contributed by [@Manamama](https://github.com/Manamama). Special thanks for making AionUi accessible on Android devices! 🙏
>
> **Original Tutorial**: [Running AionUi WebUI on Android via Termux + Proot Ubuntu](https://gist.github.com/Manamama/b4f903c279b5e73bdad4c2c0a58d5ddd)
>
> **Related Issues**: [#217 - Android Support Discussion](https://github.com/iOfficeAI/AionUi/issues/217)
### Prerequisites
- **Termux** from [F-Droid](https://f-droid.org/en/packages/com.termux/) (Google Play version is outdated and not recommended)
- **~5 GB free storage**
- **Internet connection**
- **Android 7.0+** (tested on Android 14)
### Installation Steps
#### 1. Install Termux and Update Packages
```bash
# Update package list
pkg update -y
# Install proot-distro
pkg install proot-distro -y
```
#### 2. Install Ubuntu via Proot
```bash
# Install Ubuntu rootfs
proot-distro install ubuntu
# Login to Ubuntu environment
proot-distro login ubuntu
```
#### 3. Install System Dependencies
```bash
# Update Ubuntu package list
apt update
# Install required dependencies
apt install -y \
wget \
libgtk-3-0 \
libnss3 \
libasound2 \
libgbm1 \
libxshmfence1 \
ca-certificates
# Optional: Install additional libraries if needed
apt install -y \
libx11-xcb1 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
libatk1.0-0 \
libcups2
```
#### 4. Download and Install AionUi
```bash
# Download the ARM64 .deb package (replace VERSION with the actual version)
# Check latest version at: https://github.com/iOfficeAI/AionUi/releases
wget https://github.com/iOfficeAI/AionUi/releases/download/vVERSION/AionUi_VERSION_arm64.deb
# Example (replace VERSION with the release tag, e.g. v1.5.2):
wget https://github.com/iOfficeAI/AionUi/releases/download/vVERSION/AionUi_VERSION_arm64.deb
# Install the package
apt install -y ./AionUi_*.deb
# Verify installation
which AionUi
```
#### 5. Launch AionUi WebUI
```bash
# Start AionUi in WebUI mode with no-sandbox flag
AionUi --no-sandbox --webui
```
**Important**: The `--no-sandbox` flag is required in Termux/proot environments.
#### 6. Access the WebUI
Once started, open your browser and navigate to:
```
http://localhost:25808
```
**Note**: The default port is 25808. Check the terminal output if a different port is used.
### Expected Warnings (Non-Fatal)
You may see the following warnings in the terminal - these are normal and can be ignored:
```
[WARNING] Could not connect to session bus: Using X11 for dbus-daemon autolaunch was disabled at compile time
[ERROR] Failed to connect to the bus: Failed to connect to socket: No such file or directory
[WARNING] Multiple instances of the app detected, but not running on display server
```
These errors are related to D-Bus and X server, which are not needed for WebUI mode.
### Remote Access on LAN
To access AionUi from other devices on your local network:
```bash
# Start with --remote flag
AionUi --no-sandbox --webui --remote
# Find your Android device's IP address
# In Termux (outside proot):
# ifconfig or ip addr show
```
Access from other devices: `http://YOUR_ANDROID_IP:25808`
### Troubleshooting
#### Port Already in Use
If port 25808 is occupied:
```bash
# Specify a different port
AionUi --no-sandbox --webui --port 8080
```
#### Permission Denied Errors
```bash
# Ensure the binary has execute permissions
chmod +x /opt/AionUi/aionui
```
#### Out of Memory
AionUi requires sufficient RAM. Close other apps if you encounter memory issues.
#### Cannot Access from Browser
1. Check if AionUi is running: look for "Server started" message
2. Try using Termux's built-in browser or Chrome
3. Clear browser cache
### Performance Tips
1. **Use a lightweight browser** - Chrome or Firefox Focus recommended
2. **Close background apps** - Free up RAM for better performance
3. **Use WiFi** - More stable than mobile data for remote access
4. **Keep device charged** - Running AionUi consumes battery
### Tested Environment
- **Device**: Android 14
- **Termux Version**: 0.118.0
- **AionUi Version**: Latest release (e.g. 1.5.2)
- **Proot-distro**: Ubuntu (latest)
### Creating a Startup Script
For convenience, create a script to launch AionUi quickly:
```bash
# Create script in Ubuntu (proot)
cat > ~/start-aionui.sh << 'EOF'
#!/bin/bash
echo "Starting AionUi WebUI..."
AionUi --no-sandbox --webui --remote
EOF
# Make executable
chmod +x ~/start-aionui.sh
# Run anytime
./start-aionui.sh
```
### Quick Start Command (One-liner)
From Termux main shell:
```bash
proot-distro login ubuntu -- bash -c "AionUi --no-sandbox --webui --remote"
```
### Feedback and Improvements
If you encounter issues or have suggestions for improving Android support:
1. Check the [original community guide](https://gist.github.com/Manamama/b4f903c279b5e73bdad4c2c0a58d5ddd)
2. Report issues at [GitHub Issues #217](https://github.com/iOfficeAI/AionUi/issues/217)
3. Share your experience to help other Android users!
---
## Remote Access
To allow access from other devices on your network, use the `--remote` flag:
### Windows
```cmd
AionUi.exe --webui --remote
```
### macOS
```bash
/Applications/AionUi.app/Contents/MacOS/AionUi --webui --remote
```
### Linux
```bash
aionui --webui --remote
```
**Security Note**: Remote mode allows network access. Use only on trusted networks. Consider setting up authentication and firewall rules for production use.
### Finding Your Local IP Address
**Windows:**
```cmd
ipconfig
```
Look for "IPv4 Address" under your active network adapter.
**macOS/Linux:**
```bash
ifconfig
# or
ip addr show
```
Look for `inet` address (e.g., `192.168.1.100`).
Access from other devices: `http://YOUR_IP_ADDRESS:3000`
---
## Troubleshooting
### Port Already in Use
If port 3000 is already in use, the application will automatically try the next available port. Check the console output for the actual port number.
### Cannot Access from Browser
1. **Check if the application started successfully**
- Look for "Server started on port XXXX" message in the console
2. **Try a different browser**
- Chrome, Firefox, Safari, or Edge
3. **Clear browser cache**
- Press `Ctrl+Shift+Delete` (Windows/Linux) or `Cmd+Shift+Delete` (macOS)
### Firewall Blocking Access
**Windows:**
```cmd
# Allow through Windows Firewall
netsh advfirewall firewall add rule name="AionUi WebUI" dir=in action=allow protocol=TCP localport=3000
```
**Linux (UFW):**
```bash
sudo ufw allow 3000/tcp
```
**macOS:**
Go to **System Preferences** → **Security & Privacy** → **Firewall** → **Firewall Options** → Add AionUi
### Application Not Found
**Find application location:**
**Windows:**
```cmd
where AionUi.exe
```
**macOS:**
```bash
mdfind -name "AionUi.app"
```
**Linux:**
```bash
which aionui
# or
find /opt -name "aionui" 2>/dev/null
```
### View Logs
**Windows (PowerShell):**
```powershell
& "C:\Program Files\AionUi\AionUi.exe" --webui 2>&1 | Tee-Object -FilePath aionui.log
```
**macOS/Linux:**
```bash
/path/to/aionui --webui 2>&1 | tee aionui.log
```
---
## Environment Variables
You can customize WebUI behavior with environment variables:
```bash
# Override the listening port
export AIONUI_PORT=8080
# Allow remote access without passing --remote
export AIONUI_ALLOW_REMOTE=true
# Optional host hint (0.0.0.0 behaves the same as AIONUI_ALLOW_REMOTE=true)
export AIONUI_HOST=0.0.0.0
# Then start the application
aionui --webui
# You can also pass the port directly via CLI
aionui --webui --port 8080
```
---
## User Configuration File
From v1.5.0+, you can store persistent WebUI preferences in `webui.config.json` located in your Electron user-data folder:
| Platform | Location |
| -------- | -------------------------------------------------------- |
| Windows | `%APPDATA%/AionUi/webui.config.json` |
| macOS | `~/Library/Application Support/AionUi/webui.config.json` |
| Linux | `~/.config/AionUi/webui.config.json` |
Example file:
```json
{
"port": 8080,
"allowRemote": true
}
```
Settings from CLI flags take priority, followed by environment variables, then the user config file.
---
## Command Line Options Summary
| Option | Description |
| ------------------ | --------------------------- |
| `--webui` | Start in WebUI mode |
| `--remote` | Allow remote network access |
| `--webui --remote` | Combine both flags |
---
## Reset Admin Password
If you forgot your admin password in WebUI mode, you can reset it using the `--resetpass` command.
### Using --resetpass Command
**IMPORTANT:** The --resetpass command resets the password and generates a new random one. All existing JWT tokens will be invalidated.
**Windows:**
```cmd
# Using full path
"C:\Program Files\AionUi\AionUi.exe" --resetpass
# Or for a specific user
"C:\Program Files\AionUi\AionUi.exe" --resetpass username
```
**macOS:**
```bash
# Using full path
/Applications/AionUi.app/Contents/MacOS/AionUi --resetpass
# Or for a specific user
/Applications/AionUi.app/Contents/MacOS/AionUi --resetpass username
```
**Linux:**
```bash
# Using system path
aionui --resetpass
# Or for a specific user
aionui --resetpass username
# Or using full path
/opt/AionUi/aionui --resetpass
```
### What happens when you run --resetpass:
1. The command connects to the database
2. Finds the specified user (default: `admin`)
3. Generates a new random 12-character password
4. Updates the password hash in the database
5. Rotates the JWT secret (invalidating all previous tokens)
6. Displays the new password in the terminal
### After running --resetpass:
1. The command will display your new password - **copy it immediately**
2. Refresh your browser (Cmd+R or Ctrl+R)
3. You will be redirected to the login page
4. Login with the new password shown in the terminal
### Development Environment Only
If you're in a development environment with Node.js, you can also use:
```bash
# In the project directory
npm run resetpass
# Or for a specific user
npm run resetpass -- username
```
---
## Additional Resources
- [Main README](../readme.md)
- [中文说明](./readme/readme_ch.md)
- [日本語ドキュメント](./readme/readme_jp.md)
- [GitHub Issues](https://github.com/iOfficeAI/AionUi/issues)
---
## Support
If you encounter any issues:
1. Check the [Troubleshooting](#troubleshooting) section
2. Search [existing issues](https://github.com/iOfficeAI/AionUi/issues)
3. Create a [new issue](https://github.com/iOfficeAI/AionUi/issues/new) with:
- Your OS and version
- AionUi version
- Steps to reproduce
- Error messages or logs
---
**Happy using AionUi in WebUI mode!** 🚀