Zum Inhalt springen

Proxmox-VE-Bereitstellung

Komponente Anforderung
Proxmox VE 8.x
VM-Betriebssystem Debian 13 (Trixie)
vCPU 4
RAM 8 GB
Speicher ZFS-Dataset für Docker-Volumes
Docker Engine 27+ mit Compose v2
Netzwerk VLAN mit freigegebenem Port :3847
Registry Authentifiziert an git.satware.ai
  1. VM auf Proxmox-Host erstellen

    Terminal window
    qm create 200 --name onlyoffice-mcp \
    --memory 8192 --cores 4 \
    --net0 virtio,bridge=vmbr0,tag=<VLAN_ID> \
    --scsi0 local-zfs:32 \
    --ostype l26
  2. Docker auf der VM installieren

    Terminal window
    apt-get update && apt-get install -y ca-certificates curl
    install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
    https://download.docker.com/linux/debian trixie stable" > /etc/apt/sources.list.d/docker.list
    apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  3. ZFS konfigurieren

    Terminal window
    zfs create rpool/docker
  4. Firewall konfigurieren

    Terminal window
    # Nur den einzelnen MCP-Port freigeben
    ufw allow 3847/tcp comment "MCP Server"
    ufw enable
  5. Bei der Container-Registry authentifizieren

    Terminal window
    echo "$GITEA_TOKEN" | docker login git.satware.ai -u <username> --password-stdin
  6. Bereitstellen

    Terminal window
    mkdir -p /opt/onlyoffice-mcp/secrets
    cd /opt/onlyoffice-mcp
    # docker-compose.prod.yml und .env auf den Server kopieren
    # JWT-Secret erstellen
    openssl rand -hex 32 > secrets/jwt_secret.txt
    chmod 600 secrets/jwt_secret.txt
    # Version setzen
    echo "VERSION=v1.3.0" > .env
    # Dienste starten
    docker compose -f docker-compose.prod.yml up -d
Terminal window
cd /opt/onlyoffice-mcp
echo "VERSION=v1.2.0" > .env
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d

OnlyOffice Document Server ist ressourcenintensiv – planen Sie ein Wartungsfenster ein:

Terminal window
docker compose -f docker-compose.prod.yml stop onlyoffice
docker compose -f docker-compose.prod.yml pull onlyoffice
docker compose -f docker-compose.prod.yml up -d onlyoffice
# Auf Healthcheck warten (start_period: 120s)
docker compose -f docker-compose.prod.yml up -d
Terminal window
echo "VERSION=v1.0.0" > .env
docker compose -f docker-compose.prod.yml up -d
Terminal window
# Auf dem Proxmox-Host
pvesh create /cluster/backup \
--vmid 200 \
--storage pbs \
--schedule "0 2 * * *" \
--mode snapshot \
--maxfiles 7
Terminal window
docker run --rm \
-v onlyoffice-mcp_artifacts_data:/data:ro \
-v /backup:/backup \
alpine tar czf /backup/artifacts-$(date +%Y%m%d).tar.gz -C /data .
Dienst URL Erwartet
OnlyOffice http://localhost:9980/healthcheck 200 OK
MCP-Server http://localhost:3847/health 200 OK
/opt/onlyoffice-mcp/health-check.sh
#!/bin/bash
for url in "http://localhost:9980/healthcheck" "http://localhost:3847/health"; do
if ! curl -sf "$url" > /dev/null 2>&1; then
echo "ALERT: $url is DOWN" | logger -t onlyoffice-mcp
fi
done

Zum Cron hinzufügen: */5 * * * * /opt/onlyoffice-mcp/health-check.sh

Dienst CPU Arbeitsspeicher
onlyoffice 2.0 4 GB
mcp-server 1.0 1 GB
cleanup 0.25 128 MB