Files
proxmox-mcp-setup/compose.yaml
T

132 lines
3.5 KiB
YAML

services:
proxmox-mcp-pve:
image: ghcr.io/rekklesna/proxmoxmcp-plus:latest
container_name: proxmox-mcp-pve
restart: unless-stopped
init: true
stop_grace_period: 30s
ports:
- "${MCP_BIND_ADDRESS:-192.168.31.100}:8811:8811"
environment:
PROXMOX_API_KEY: ${PROXMOX_PVE_API_KEY:?PROXMOX_PVE_API_KEY is required}
volumes:
- type: bind
source: ${MCP_CONFIG_ROOT:-/mnt/ssd/apps/mcp}/pve/config.json
target: /app/proxmox-config/config.json
read_only: true
read_only: true
tmpfs:
- /tmp:size=64m,noexec,nosuid,nodev
pids_limit: 128
mem_limit: 256m
cpus: 0.5
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
logging: &default-logging
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
- mcp-network
proxmox-mcp-kybinka:
image: ghcr.io/rekklesna/proxmoxmcp-plus:latest
container_name: proxmox-mcp-kybinka
restart: unless-stopped
init: true
stop_grace_period: 30s
ports:
- "${MCP_BIND_ADDRESS:-192.168.31.100}:8812:8811"
environment:
PROXMOX_API_KEY: ${PROXMOX_KYBINKA_API_KEY:?PROXMOX_KYBINKA_API_KEY is required}
volumes:
- type: bind
source: ${MCP_CONFIG_ROOT:-/mnt/ssd/apps/mcp}/kybinka/config.json
target: /app/proxmox-config/config.json
read_only: true
read_only: true
tmpfs:
- /tmp:size=64m,noexec,nosuid,nodev
pids_limit: 128
mem_limit: 256m
cpus: 0.5
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
logging: *default-logging
networks:
- mcp-network
proxmox-mcp-pve1:
image: ghcr.io/rekklesna/proxmoxmcp-plus:latest
container_name: proxmox-mcp-pve1
restart: unless-stopped
init: true
stop_grace_period: 30s
ports:
- "${MCP_BIND_ADDRESS:-192.168.31.100}:8813:8811"
environment:
PROXMOX_API_KEY: ${PROXMOX_PVE1_API_KEY:?PROXMOX_PVE1_API_KEY is required}
volumes:
- type: bind
source: ${MCP_CONFIG_ROOT:-/mnt/ssd/apps/mcp}/pve1/config.json
target: /app/proxmox-config/config.json
read_only: true
read_only: true
tmpfs:
- /tmp:size=64m,noexec,nosuid,nodev
pids_limit: 128
mem_limit: 256m
cpus: 0.5
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
logging: *default-logging
networks:
- mcp-network
truenas-mcp:
build:
context: ./truenas
dockerfile: Dockerfile
container_name: truenas-mcp
restart: unless-stopped
init: true
stop_grace_period: 30s
ports:
- "${MCP_BIND_ADDRESS:-192.168.31.100}:8814:8000"
environment:
TRUENAS_URL: ${TRUENAS_URL:-http://192.168.31.100}
TRUENAS_API_KEY: ${TRUENAS_API_KEY:?TRUENAS_API_KEY is required}
TRUENAS_VERIFY_SSL: ${TRUENAS_VERIFY_SSL:-false}
TRUENAS_ENABLE_DESTRUCTIVE_OPS: ${TRUENAS_ENABLE_DESTRUCTIVE_OPS:-false}
TRUENAS_LOG_LEVEL: ${TRUENAS_LOG_LEVEL:-INFO}
volumes:
- type: bind
source: ${MCP_CONFIG_ROOT:-/mnt/ssd/apps/mcp}/truenas/config.json
target: /app/config.json
read_only: true
read_only: true
tmpfs:
- /tmp:size=64m,noexec,nosuid,nodev
pids_limit: 128
mem_limit: 256m
cpus: 0.5
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
logging: *default-logging
networks:
- mcp-network
networks:
mcp-network:
name: mcp-network
driver: bridge