System Requirements
Hardware Requirements
Minimum Specifications
| Item | Specification |
|---|---|
| CPU | 8 cores or more |
| RAM | 32GB or more |
| Storage | SSD 500GB or more |
| GPU | NVIDIA GPU (CUDA support) |
| Network | 1Gbps or more |
Recommended Specifications
| Item | Specification |
|---|---|
| CPU | 16 cores or more |
| RAM | 64GB or more |
| Storage | NVMe SSD 1TB or more |
| GPU | NVIDIA DGX Spark or equivalent |
| Network | 10Gbps |
PlantPulse AI is optimized to run even on lower-spec GPU environments such as the NVIDIA DGX Spark.
Software Requirements
| Item | Description |
|---|---|
| OS | Ubuntu 22.04 · RHEL / Rocky / Alma 8·9 · Amazon Linux 2 |
| Container | Docker CE + compose v2 plugin — the installer sets this up. If already present, it is used as-is |
| GPU driver | NVIDIA driver + container toolkit — the installer sets this up (skipped via SKIP_GPU=1). Installing a new driver may require a reboot |
All services run as containers. The host only needs the three items above.
If no NVIDIA device is present, the installer skips the driver step and warns that services
using runtime: nvidia (vLLM generation · embedding · reranking) will not come up.
GPU Memory Shares
The vLLM set, transcription vLLM, and time series inference server share the same GPU.
If the sum of each share (LLM_GPU_UTIL · EMB_GPU_UTIL · RERANK_GPU_UTIL · TS_GPU_UTIL · ASR_GPU_UTIL) exceeds the limit
PP_GPU_BUDGET_CEILING, startup is blocked. Shares and limits live not in the host env but in the
hardware profile (compose/profiles/<모양>.env), and PP_HW_PROFILE in the host env selects it.
Transcription (ASR_GPU_UTIL) is off by default, but it is included in the sum in advance so it does not exceed the limit on the day it's enabled — even enabling video · audio (PI_MEDIA_ENABLED=true)
does not require recalculating GPU shares. When enabled, the transcription model Aura-ASR-Turbo uses about 1.6 GB more disk → Video · Audio Collection
| Hardware | Template · PP_HW_PROFILE | Sum of shares (LLM + EMB + RERANK + TS + ASR) | Limit |
|---|---|---|---|
| GB10 series (arm64, unified memory) | env.gb10.example · gb10 | 0.4 + 0.10 + 0.08 + 0.13 + 0.03 = 0.74 | 0.75 |
| AWS g7e (amd64, dedicated VRAM) | env.g7e.example · g7e | 0.53 + 0.13 + 0.10 + 0.15 + 0.04 = 0.95 | 0.95 |
On GB10, GPU memory is the same pool as system RAM, so if the models take it all, nothing is left for the OS and other services. For details, see Environment Variable Configuration.
Network Requirements
PlantPulse AI uses the following ports. Your firewall policy must allow these ports.
Ports Requiring External Access
| Port | Service | Description |
|---|---|---|
| 80 / 443 | AI Chat Web | Web chat interface (the only one exposed externally) |
Ports Also Opened on the Host
These are opened directly to the LAN without going through a proxy. Use a firewall to block access from outside the internal network.
| Port | Service |
|---|---|
| 4000 | LiteLLM — model gateway (changed via PI_LITELLM_PORT) |
| 7115 | RAG gateway |
| 8970 | Time series insights |
| 5959 | Admin console HTTP (changed via PI_ADMIN_WEB_PORT) |
| 5960 | Admin console HTTPS — via proxy (changed via PI_ADMIN_WEB_TLS_PORT) |
| 7474 / 7687 | Neo4j browser · Bolt |
When opening firewall ports, the installer reads the ports actually published by compose, so whatever value you change via the variables above is what gets opened.
9080 as of 2026.09 and earlier has been closed. Move your bookmarks and firewall rules to
5959 (HTTP) · 5960 (HTTPS).
🔴 Previously LightRAG was exposed directly via 7114, but now rag-api (7115) is the sole
gateway and LightRAG itself lives only inside the container. There is no need to open 7114
on the firewall.
Document understanding (7120) · vision (7130) · vLLM (8000) · embedding (8003) · reranker (8004) · transcription (installs with video · audio enabled) · docling (5001) · Qdrant (6333) · time series inference (8980) · admin-api (9081) · digital thread (7140) and its dedicated Neo4j do not publish host ports (2026-08-21). Phoenix (6006) also stopped publishing as of 2026.09 — because it is a trace UI without authentication. These are called only between containers, so they are not firewall targets.
PostgreSQL (5432) · Aster TSDB (9042) · Redis (6379) · RustFS (9000/9001) borrow the platform's instances — these must be open on the platform server, not the AI server.
On startup, the AI container obtains an account · password from the platform data lake management API (https://<플랫폼 호스트>:4950).
The AI host must be able to reach that port outbound, and the AI host's IP must be on the
platform's allowlist → Installation Overview
The full port map and verification commands are in Service Port Map.
MCP · ontology tools are provided by the PlantPulse platform's server-web integrated MCP
(/api/v5/mcp) (the former standalone MCP Server 50000 · Ontology 8888 services have been archived).
PlantPulse IIoT Server Integration
PlantPulse AI accesses real-time data from the PlantPulse IIoT platform. The following connections are required:
| Item | Description |
|---|---|
| PlantPulse server | IIoT platform API server (HTTPS) |
| Aster TSDB cluster | Time series data store |
| PostgreSQL | PlantPulse metadata DB |
The integrated MCP performs read-only access to the PlantPulse IIoT server. Write operations are not supported.