1. Prepare your environment
- A Windows x64 server and access to an administrator account.
- An empty or non-existent MAIA directory, such as
C:\MAIA. Extract the package elsewhere. - The MAIA server’s IP address, the ServiceDesk Plus location and a maintenance window for any required SDP restart.
- PostgreSQL with pgvector and Python — these can be installed from the All-in-One prerequisites.
- Your license details, SDP integration settings and access to your chosen AI provider and model.
- Storage for the application, knowledge data, indexes, logs and backups. Capacity depends on deployment size.
MAIA uses port 3000 by default; the bundled PostgreSQL uses 5433. Check for conflicts and review firewall rules before installation. Automated direct SDP database configuration covers PostgreSQL. For other setups, contact the MAIA Plus team at stanislaw.rogasik@maiaplus.eu.
Do not choose a fresh installation or clear its directory. Use the upgrade guide instead.
2. Download and extract All-in-One
Choose All-in-One Windows on the downloads page, if it is available. Compare its SHA-256 with the value published for that exact file.
Get-FileHash .\mwtsolutions-maia-all-in-one-windows-1.1.0.zip -Algorithm SHA2561.1.0 is an example filename. Use the exact version you downloaded. Do not extract into the live MAIA installation or its current directory.
Open the extracted all-in-one directory. It should contain:
all-in-one/
install-all-in-one.bat
install-all-in-one.ps1
update/ — signed MAIA application
prerequisites/ — PostgreSQL / Python
sdp-integration/ — SDP integration and proxy
tools/ — installer utilitiesKeep release-manifest.json and release-manifest.sig with the signed components.
3. Run the installer
Run install-all-in-one.bat and accept the UAC elevation prompt. Alternatively, open PowerShell as Administrator in the all-in-one directory:
powershell -NoProfile -ExecutionPolicy Bypass -File .\install-all-in-one.ps1For a new environment, choose Full installation. Other modes include app-only, infra-only, sdp-only and service repair. They are not substitutes for the application database upgrade procedure.
Select the server and directory
Choose the MAIA IP address, SDP location and an empty destination directory. Review detected services and paths before confirming.
Choose the runtime
Standard requires AVX2. On systems without AVX2, often virtual machines, choose Baseline. Use the same variant for subsequent maintenance operations.
Install MAIA and its prerequisites
The installer verifies the application signature and uses MAIA-MAINTENANCE. Choose PostgreSQL + Python, either component, or skip prerequisites if they are already prepared. Review all OK / FAIL / SKIP results.
Confirm SDP integration
For local SDP, the installer prepares the proxy and backs up modified files. For remote SDP, it generates a separate bundle to run on the SDP server.
Verify connectivity
Review the test results and final handout. Resolve connectivity failures before completing application configuration.
Proxy configuration may require an SDP Tomcat restart. The installer does not restart it automatically. Review the impact on SDP before approving PostgreSQL access changes or a database reload/restart.
Preview the detected settings first
.\install-all-in-one.ps1 -InfoOnlyInformation mode shows the detected environment and plan. It does not install the application or change services or the database. Do not publish its full output: it may contain infrastructure details.
Resume an interrupted installation
Run the installer again and review its resume option. Stage state is stored in %ProgramData%\MAIA\maia-installer-state.json. Do not use -Clean without establishing which steps actually completed.
4. ServiceDesk Plus on a separate server
Transfer the generated MAIA-SDP-REMOTE-BUNDLE to the SDP server. Run the script there as Administrator with the real MAIA address. Private-network example:
.\deploy-remote.ps1 -MaiaUrl "http://10.0.0.50:3000" -MaiaIp "10.0.0.50"Replace the example IP with your MAIA server’s address. Check routing and firewall rules before using it.
Review the proxy and PostgreSQL changes, perform the required SDP restart in your maintenance window, then return to the connectivity test on the MAIA server.
The installer may propose pg_hba.conf rules using trust for specific addresses. These are not a complete security policy for every network. Have your DBA review the address scope, firewall and authentication method. Use a least-privilege account, such as the prepared maia_ro role.
5. Complete setup in your browser
On the MAIA server, open:
http://127.0.0.1:3000/maiawebui/setupUse the installer’s final handout to configure the MAIA database, administrator account, license, ServiceDesk Plus integration and AI provider/model. Add knowledge sources as needed. Once correctly configured, the proxy exposes WebUI at https://your-SDP-address/maiawebui/.
MAIA-INSTALL-PRZEWODNIK.txt, prerequisites.env and maia_ro.credentials may contain credentials. Keep them in a protected location, never publish them or send them through ordinary email. After setup, secure or remove unnecessary copies according to your organization’s policy.
Do not expose an unfinished Setup Wizard to the public network. Restrict setup access to administrators and trusted networks. When using HTTPS, keep the certificate and private key in C:\MAIA\ssl, outside the replaceable current directory.
6. Verify your first launch
Get-Service MAIA
Invoke-RestMethod http://127.0.0.1:3000/api/v1/statusExpect the service to be Running and the API to return API v1 is operational. If you changed the port or enabled HTTPS, use the correct local address.
- Administrator login and licensing work.
- MAIA opens through the intended SDP/proxy address as well.
- The model and selected data sources pass connection tests.
- A simple workflow runs on deliberately chosen test data.
- You have agreed on backup storage and the next upgrade procedure.
Other installation paths
For a separate prerequisites package, follow the PostgreSQL, pgvector and Python installation guide.
Windows — prerequisites are already prepared
Extract the signed Windows ZIP outside the destination directory. From update, run install.bat as Administrator, specify an empty directory and confirm INSTALL after preflight. For Baseline, use the matching maintenance executable directly:
.\MAIA-MAINTENANCE-baseline.exe check --package .
.\MAIA-MAINTENANCE-baseline.exe install --package . --install-root "C:\MAIA"
.\MAIA-MAINTENANCE-baseline.exe install --package . --install-root "C:\MAIA" --confirmThe WebUI Setup Wizard and integration configuration are still required.
Linux — administrator installation
The All-in-One installer above is for Windows. On Linux, prepare PostgreSQL/pgvector and Python, extract the signed ZIP into a separate directory and open its update directory. Do not assume a Linux package is already published for every release.
chmod +x maia-maintenance-linux mwtsolutions-maia-linux
./maia-maintenance-linux check --package .
sudo ./maia-maintenance-linux install --package . --install-root /opt/maia
sudo ./maia-maintenance-linux install --package . --install-root /opt/maia --confirm
sudo useradd --system --home /opt/maia --shell /usr/sbin/nologin maia
sudo chown -R maia:maia /opt/maiaCreate /etc/systemd/system/maia.service. Skip account creation if the account already exists. This runtime requires AVX2; without it, use baseline binaries, including in ExecStart.
[Unit]
Description=MAIA Plus
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=maia
Group=maia
WorkingDirectory=/opt/maia
ExecStart=/opt/maia/current/mwtsolutions-maia-linux
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now maia.service
systemctl status maia.service --no-pager
curl --fail http://127.0.0.1:3000/api/v1/statusThen complete the WebUI Setup Wizard. On a server without AVX2, also use maia-maintenance-linux-baseline for maintenance commands.
Documentation