MAIA PlusDocumentation

Your first deployment

From package to first launch.

The All-in-One installer guides you through MAIA, its prerequisites and ServiceDesk Plus integration. Finish configuring the application in your browser.

All-in-One · Windows x64Administrator access requiredConfirmed installation stages

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.

Already running MAIA on this server?

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 SHA256

1.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 utilities

Keep 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.ps1

For 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.

  1. Select the server and directory

    Choose the MAIA IP address, SDP location and an empty destination directory. Review detected services and paths before confirming.

  2. Choose the runtime

    Standard requires AVX2. On systems without AVX2, often virtual machines, choose Baseline. Use the same variant for subsequent maintenance operations.

  3. 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.

  4. 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.

  5. Verify connectivity

    Review the test results and final handout. Resolve connectivity failures before completing application configuration.

ServiceDesk Plus changes require your approval

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 -InfoOnly

Information 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.

Restrict access to the SDP database

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/setup

Use 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/.

Treat the installer handout as sensitive

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/status

Expect 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" --confirm

The 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/maia

Create /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.target
sudo 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/status

Then complete the WebUI Setup Wizard. On a server without AVX2, also use maia-maintenance-linux-baseline for maintenance commands.