Proxmox-VE-Bereitstellung
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“| 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 |
-
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 -
Docker auf der VM installieren
Terminal window apt-get update && apt-get install -y ca-certificates curlinstall -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.ascecho "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.listapt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin -
ZFS konfigurieren
Terminal window zfs create rpool/docker -
Firewall konfigurieren
Terminal window # Nur den einzelnen MCP-Port freigebenufw allow 3847/tcp comment "MCP Server"ufw enable -
Bei der Container-Registry authentifizieren
Terminal window echo "$GITEA_TOKEN" | docker login git.satware.ai -u <username> --password-stdin -
Bereitstellen
Terminal window mkdir -p /opt/onlyoffice-mcp/secretscd /opt/onlyoffice-mcp# docker-compose.prod.yml und .env auf den Server kopieren# JWT-Secret erstellenopenssl rand -hex 32 > secrets/jwt_secret.txtchmod 600 secrets/jwt_secret.txt# Version setzenecho "VERSION=v1.3.0" > .env# Dienste startendocker compose -f docker-compose.prod.yml up -d
Aktualisierungen
Abschnitt betitelt „Aktualisierungen“Rolling Update (leichtgewichtige Dienste)
Abschnitt betitelt „Rolling Update (leichtgewichtige Dienste)“cd /opt/onlyoffice-mcpecho "VERSION=v1.2.0" > .envdocker compose -f docker-compose.prod.yml pulldocker compose -f docker-compose.prod.yml up -dOnlyOffice-Update (Wartungsfenster)
Abschnitt betitelt „OnlyOffice-Update (Wartungsfenster)“OnlyOffice Document Server ist ressourcenintensiv – planen Sie ein Wartungsfenster ein:
docker compose -f docker-compose.prod.yml stop onlyofficedocker compose -f docker-compose.prod.yml pull onlyofficedocker compose -f docker-compose.prod.yml up -d onlyoffice# Auf Healthcheck warten (start_period: 120s)docker compose -f docker-compose.prod.yml up -dRollback
Abschnitt betitelt „Rollback“echo "VERSION=v1.0.0" > .envdocker compose -f docker-compose.prod.yml up -dProxmox Backup Server
Abschnitt betitelt „Proxmox Backup Server“# Auf dem Proxmox-Hostpvesh create /cluster/backup \ --vmid 200 \ --storage pbs \ --schedule "0 2 * * *" \ --mode snapshot \ --maxfiles 7Docker-Volume-Backup
Abschnitt betitelt „Docker-Volume-Backup“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 .Monitoring
Abschnitt betitelt „Monitoring“| Dienst | URL | Erwartet |
|---|---|---|
| OnlyOffice | http://localhost:9980/healthcheck |
200 OK |
| MCP-Server | http://localhost:3847/health |
200 OK |
#!/bin/bashfor 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 fidoneZum Cron hinzufügen: */5 * * * * /opt/onlyoffice-mcp/health-check.sh
Ressourcenlimits
Abschnitt betitelt „Ressourcenlimits“| Dienst | CPU | Arbeitsspeicher |
|---|---|---|
| onlyoffice | 2.0 | 4 GB |
| mcp-server | 1.0 | 1 GB |
| cleanup | 0.25 | 128 MB |
Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Docker-Stack-Bereitstellung – Details zur Compose-Konfiguration
- Architektur – Systemübersicht