Everything you need to install, configure, and get the most out of Interpretos Local.
Interpretos Local runs as a Docker container on your infrastructure. All configuration happens in your browser through a setup wizard — no environment variables or config files needed.
| Integration | What You Need |
|---|---|
| Oracle EBS | SSH access to the EBS database server (key-based auth) + APPS database credentials |
| PeopleSoft HCM | SSH access to the PeopleSoft database server (key-based auth) + SYSADM database credentials |
| IBM Maximo | Maximo API URL + API key (MAS 8.x/9.x) or admin username & password (Maximo 7.6) |
Create a file called docker-compose.yml in an empty directory:
services:
interpretos-local:
image: interpretos/local:latest
ports:
- "8080:5000"
volumes:
- interpretos-data:/app/data
restart: unless-stopped
volumes:
interpretos-data:
Start the container:
docker compose up -d
Open http://localhost:8080 in your browser to begin the setup wizard.
On first launch, the wizard walks you through five steps:
| 1. Admin Account | Set your admin username and password. You must accept the EULA to proceed. |
| 2. AI Provider | Free tier (Interpretos Cloud) is pre-selected. Or enter your own API key for Google Gemini, OpenAI, Anthropic, or a custom OpenAI-compatible endpoint. |
| 3. Telemetry | Opt in or out of anonymous usage metrics. Disabled by default. See Telemetry for details on what is collected. |
| 4. Database Connection | Enter your system credentials and test the connection. For Maximo (API-based), configure credentials in the Admin Panel after setup. |
| 5. Review & Launch | Confirm your settings and start chatting. |
For detailed per-integration setup steps with example queries, see the Quickstart Guide.
The Admin Panel is accessible by clicking the gear icon in the top-right corner of the chat interface. Only users with the admin role can access it.
Change your AI provider at any time from Admin Panel > Settings > AI Provider.
| Provider | What You Need |
|---|---|
| Interpretos Cloud (Free) | Nothing — works out of the box |
| Google Gemini | Google AI API key |
| OpenAI | OpenAI API key |
| Anthropic | Anthropic API key |
| Custom / Self-hosted | Any OpenAI-compatible endpoint URL + API key |
Use the Test Connection button to verify your key before saving.
Modify your database or API connection settings from Admin Panel > Settings. Each integration has its own configuration section.
Connection mode: SSH tunnel (recommended) or direct connection.
Click Test Connection before saving. The test verifies SSH connectivity, Oracle client availability, and database login.
HCMVRS)PeopleSoft uses a separate SSH connection from EBS — configure them independently if you have both.
https://your-server/maximo/api/os for MAS, or http://server:port/maxrest/oslc/os for 7.6)Both authentication methods are fully supported. MAXAUTH credentials are Base64-encoded automatically.
Manage user accounts from Admin Panel > Users.
| Action | How |
|---|---|
| Create user | Click Add User, set username, password, and role (admin or user) |
| Change password | Click the user row, then Change Password |
| Delete user | Click the user row, then Delete (cannot delete the last admin) |
admin users can access the Admin Panel and manage all settings. user accounts can only chat and configure their own preferences.
By default, all users share the global credentials configured in the setup wizard. For row-level access control, you can give each user their own credentials so they only see data they're authorized for.
In a real deployment, different people need different access levels. A finance analyst should only see their operating unit's data, not the entire company. A site maintenance planner should only see their site's work orders.
Custom instructions let you tailor the AI assistant's behavior for your organization. Admin-level instructions apply to all users of a specific integration.
Configure them at Admin Panel > Settings > Custom Instructions. Select an integration (e.g. Oracle EBS), then enter your instructions.
## Organization Defaults
Our Maximo instance covers three sites:
- BEDFORD (primary manufacturing)
- NASHUA (warehouse and distribution)
- AUSTIN (R&D lab)
Terminology:
- "PM" means Preventive Maintenance, not Project Manager
- "WO" means Work Order
- "The plant" refers to BEDFORD unless stated otherwise
When showing costs, always include the work order description
alongside the cost figure for context.
Interpretos can optionally send anonymous usage metrics to help us improve the product. Telemetry is disabled by default and requires explicit opt-in during setup or in the Admin Panel.
You can inspect exactly what will be transmitted before it leaves your network at Admin Panel > Audit Log > Telemetry > Preview.
Every query that Interpretos executes against your systems is logged with full detail. View the log at Admin Panel > Audit Log.
Each entry includes: timestamp, user, the SQL or API call executed, row count, execution time, and success/failure status. The audit log is stored locally in the Docker volume and never transmitted externally.
The diagnostics panel at Admin Panel > Diagnostics provides a one-click health check of all configured connections. Use it to verify:
If any connection fails, the diagnostics output includes the specific error to help troubleshoot.
This section is for everyone who uses Interpretos to ask questions — you don't need admin access for any of this.
Select your integration from the dropdown at the top of the chat (e.g. Oracle EBS, Maximo, PeopleSoft), then type your question in natural language.
| Role | Example Questions |
|---|---|
| Finance | "Show me AP aging summary" · "What invoices are on hold?" · "GL balance for account 01-110-1210" |
| Maintenance | "Status of work order 1001" · "Assets with most downtime" · "What PMs are due this week?" |
| HR | "Who is employee KU0001?" · "Show me department headcount" · "Compensation for John Smith" |
| Procurement | "PO 4281 line details" · "Requisitions pending approval" · "Vendor contact for Acme Corp" |
| Executives | "Total maintenance cost by site" · "Top 10 vendors by spend" · "Open order backlog value" |
If your admin has set up per-user credentials for Oracle EBS, you'll see an EBS Login bar at the top of the chat when Oracle EBS is selected. Enter your EBS username and password to log in. Your queries will then be filtered to only the data you're authorized to see (your operating units, ledgers, and organizations).
Click Logout to return to the default access level.
You can add personal instructions that the AI will follow in all your conversations. These are your own preferences, separate from the admin-level instructions that apply to everyone.
Set them in your user settings (click your username in the top-right corner).
The AI receives instructions in this order:
Your instructions can refine or narrow the admin defaults, but cannot override security restrictions or access controls.
Common issues and how to resolve them.
Verify that Docker is running on your machine. Check that port 8080 is not already in use by another application. You can change the port mapping in your docker-compose.yml if needed (e.g., "9090:5000").
Check container logs for more detail:
docker compose logs interpretos-local
Double-check your API_BASE URL — for MAS it should end with /maximo/api/os, for Maximo 7.6 use /maxrest/oslc/os. Verify your API key (MAS) or MAXAUTH credentials (7.6) are correct and have read access. Ensure your machine can reach the Maximo server (check firewalls, VPN requirements).
Use Admin Panel > Diagnostics to run a targeted connectivity test.
Test SSH access manually first:
ssh -i ~/.ssh/id_rsa root@your-ebs-server
Common issues:
chmod 600Test SSH access manually first:
ssh -i ~/.ssh/id_rsa oracle2@your-peoplesoft-server
Common issues:
chmod 600HCMVRS)The first query after startup takes longer while the system initializes. Subsequent queries will be faster.
Typical response times by integration:
SSH-based integrations have inherent connection overhead. For complex analytical queries, response times up to 30 seconds are normal.
If the AI seems to not understand your system or gives vague answers:
Reset any user's password from the server with a single command. This requires Docker access on the host machine.
docker exec interpretos-local python /app/reset-password.py
This resets the admin account to the default password (admin). You'll be prompted to set a new password on next login. To reset a different user or set a specific password:
docker exec interpretos-local python /app/reset-password.py <username> <new-password>
If different users see the same data despite having different credentials configured:
RBAC: Injecting per-user credentials messages — if missing, credentials aren't being appliedInterpretos Local includes a 30-day free evaluation period with full access to all integrations. No license file is needed — just install and start using it.
After your evaluation, upload a license file to continue using the product. Your license can be managed at Admin Panel > License.
| Status | Meaning |
|---|---|
| Active | Licensed and fully operational |
| Trial | Using the 30-day free evaluation |
| Expiring | Less than 7 days until license expiry (warning only, still works) |
| Grace | 0–14 days past expiry (warning only, still works) |
| Blocked | More than 14 days past expiry — access denied until renewed |
You can install a license in three ways:
.json file directly in the Admin Paneldocker cp license.json interpretos-local:/app/data/license.json
All your settings, users, credentials, and audit history are preserved across updates.
Go to Admin Panel > Updates and click Check Now to see if a newer version is available.
In the directory containing your docker-compose.yml:
docker compose pull && docker compose up -d
Docker will recreate the container with the new version. The data volume is untouched — your configuration carries over automatically.
Open Admin Panel > Updates to confirm the new version number, or from the command line:
curl -s http://localhost:8080/api/version
All data is stored in the Docker volume (interpretos-data) and persists across container restarts and upgrades. This includes:
docker compose down -v deletes the data volume and all stored configuration. Use docker compose down (without -v) to stop the container while preserving data.
Interpretos Local exposes a REST API that lets you build integrations — Slack bots, dashboards, scripts, or anything that queries your enterprise data programmatically.
A full interactive API reference is built into every Interpretos Local instance. Open it at:
http://localhost:8080/api/docs
The Swagger UI lets you browse every endpoint, see request/response schemas, and try requests directly from your browser.
Two authentication methods are supported:
POST /api/auth/login with username and password. Use the returned token in the Authorization: Bearer <token> header.X-API-Key header or as Authorization: Bearer ik_...API keys inherit the RBAC permissions of the user they are assigned to. An API key for an admin user can access admin-only endpoints; a key for a regular user is limited to that user's data and permissions.
Send a natural-language question and get an AI-powered answer from your connected enterprise system:
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-H "X-API-Key: ik_your_key_here" \
-d '{"message": "How many open work orders are there?"}'
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/login |
Get JWT token |
POST |
/api/chat |
Send a question, get AI response |
GET |
/api/conversations |
List conversation history |
POST |
/api/admin/users/bulk |
Bulk create/update users (admin) |
POST |
/api/admin/credentials/bulk |
Bulk set user credentials (admin) |
GET |
/api/health |
Health check (no auth required) |
For the complete list of 40+ endpoints with request/response schemas, see the interactive API reference in your running instance.
For organizations with many users, the bulk API lets you create hundreds of users and set their integration credentials in a single request:
curl -X POST http://localhost:8080/api/admin/users/bulk \
-H "Content-Type: application/json" \
-H "X-API-Key: ik_admin_key_here" \
-d '{
"users": [
{"username": "jsmith", "password": "temp123!", "display_name": "John Smith",
"credentials": {"maximo": {"API_KEY": "abc123", "API_BASE": "https://maximo.example.com/api"}}},
{"username": "jdoe", "password": "temp456!", "display_name": "Jane Doe"}
],
"update_existing": false
}'
The operation never fails the entire batch for one invalid user — errors are collected and returned alongside successful results. Maximum 500 users per request.