Installation Guide¶
This guide covers the complete installation of PADAI: the backend server (for IT administrators) and the PadaiPanel client (for each RPA user).
System Requirements¶
Client (PadaiPanel)¶
| Component | Minimum Version | Notes |
|---|---|---|
| Windows | 10 (build 1903) or 11 | 64-bit required |
| Power Automate Desktop | Current version (2024+) | Must be installed and functional |
| .NET Desktop Runtime | 10.0 | Required for PadaiPanel |
| Disk space | 500 MB | For the panel and local data |
| RAM | 4 GB | Minimum recommended |
Server (IT Administrator)¶
| Component | Minimum Version | Notes |
|---|---|---|
| Python | 3.11+ | For the FastAPI backend |
| Docker + Docker Compose | 20.10+ / 2.0+ | Alternative to direct Python deployment |
| OpenAI or Azure OpenAI API key | -- | Provided by the client (BYO Key) |
Bring Your Own Key
PADAI uses a BYO Key model. You provide your own OpenAI or Azure OpenAI API key. AI API call costs are billed directly by your AI provider, separate from the PADAI license.
Server Installation (IT Administrator)¶
Choose one of two deployment options: Docker (recommended) or Python direct.
Option A: Docker Deployment (Recommended)¶
1. Prepare the Bundle¶
The client bundle contains:
padai-api.tar-- Docker imagedocker-compose.yml-- service configurationlicense.json-- signed license file.env.example-- configuration template
2. Load the Docker Image¶
Note
No internet download is required. The deployment works entirely offline once the image is loaded.
3. Configure the Environment¶
Create a .env file next to docker-compose.yml:
# API Key (choose OpenAI OR Azure)
OPENAI_API_KEY=sk-...
# For Azure OpenAI, comment out the line above and use:
# AZURE_OPENAI_API_KEY=...
# AZURE_OPENAI_ENDPOINT=https://<instance>.openai.azure.com
# AZURE_OPENAI_API_VERSION=2024-02-01
# Authentication
API_TOKEN=your-secret-token
# License
LICENSE_SECRET=your-hmac-secret
LICENSE_REQUIRED=true
LICENSE_EXPIRED_MODE=block
# Rate Limiting
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_MIN=120
# Persistence (true = save generated plans)
PERSIST_CONTENT=true
4. Place the License File¶
Copy license.json into the same directory as docker-compose.yml. It is mounted as read-only automatically.
5. Start the Server¶
6. Verify¶
# Health check
curl http://localhost:8000/api/healthz
# Expected: {"status":"ok","license":"ok","version":"..."}
# Test generation (replace $API_TOKEN with your token)
curl -X POST http://localhost:8000/api/plan \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{"prompt": "Display a Hello World message"}'
Option B: Python Direct Deployment¶
1. Extract the Project¶
Extract the provided archive to a directory of your choice.
2. Create the Python Environment¶
3. Configure¶
Create a .env file in ia-pad-agent/ with the same variables as Option A (see above). Place license.json in the same directory.
4. Start the Server¶
The server starts on http://localhost:8000.
5. Verify¶
Client Installation (RPA User)¶
1. Obtain PadaiPanel¶
Download PadaiPanel.exe from the distribution channel provided by your IT team, or install from the Microsoft Store (User plan).
2. Install .NET Desktop Runtime¶
If .NET 10 Desktop Runtime is not already installed, download and install it from the official Microsoft website. PadaiPanel will warn you at launch if it is missing.
3. Configure the Server Connection¶
At first launch, PadaiPanel displays an onboarding wizard. Enter:
| Field | Value | Example |
|---|---|---|
| Server URL | Address of the PADAI backend | http://padai-server:8000 |
| API Token | Authentication token provided by IT | your-secret-token |
These settings are saved locally in %LOCALAPPDATA%\PadaiPanel\.
4. Launch PadaiPanel¶
- Open Power Automate Desktop and open a flow in the Designer.
- Launch PadaiPanel.exe.
- The panel automatically docks to the right side of the PAD Designer window.
- The connection indicator at the bottom of the panel confirms the server connection.
Tip
PadaiPanel automatically detects open PAD Designer windows. If multiple windows are open, a separate panel instance is created for each.
Network Configuration¶
Ports¶
| Port | Direction | Usage |
|---|---|---|
| 8000 (TCP) | Client to Server | PADAI REST API |
| 443 (TCP) | Server to Internet | OpenAI / Azure OpenAI API calls |
Firewall Rules¶
- Server: open port 8000 inbound for client workstations
- Server: allow outbound connections to
api.openai.com(OpenAI) or<instance>.openai.azure.com(Azure) - Client: allow outbound connections to the PADAI server (port 8000)
Proxy¶
If an HTTP proxy is configured on the network:
- Server: set
HTTP_PROXY/HTTPS_PROXYenvironment variables - Client: PadaiPanel uses Windows system proxy settings automatically
HTTPS (Recommended for Production)¶
For production deployments, place a reverse proxy (nginx, Traefik, IIS) in front of the PADAI server with a TLS certificate. Set ALLOWED_ORIGINS in the server .env with the HTTPS URL.
License Management¶
How Licensing Works¶
PADAI uses a license system based on signed JSON files. The license controls:
- Maximum number of users (
max_users) - Maximum runs per month (
max_runs_per_month) - Enabled features (
features) - Expiration date
Installing a License¶
- Receive the
license.jsonfile from PADAI Technologies. - Place the file in the server directory.
- Configure environment variables:
LICENSE_FILE,LICENSE_SECRET,LICENSE_REQUIRED=true. - Restart the server.
- Verify:
GET /api/license/statusreturns the status, quotas, and expiration date.
Expiration¶
When a license expires with LICENSE_EXPIRED_MODE=block, code generation is refused (HTTP 402). Read operations (viewing runs, checking status) remain available. Contact PADAI Technologies for renewal.
Next Steps¶
Once installation is complete, proceed to the Getting Started guide for your first AI-assisted code generation.