# 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!** πŸš€