Post-Tyranny-Tech-Infrastru.../ansible/roles/nextcloud
Pieter 8a88096619 🔧 fix: Optimize Collabora Online performance for 2-core servers
═══════════════════════════════════════════════════════════════
🎯 PROBLEM SOLVED: Collabora Server Warnings
═══════════════════════════════════════════════════════════════

Fixed two critical performance warnings in Collabora Online:

1.  "Slow Kit jail setup with copying, cannot bind-mount"
   → Error: "coolmount: Operation not permitted"

2.  "Your server is configured with insufficient hardware resources"
   → No performance tuning for 2-core CPX22 servers

═══════════════════════════════════════════════════════════════
 SOLUTION IMPLEMENTED
═══════════════════════════════════════════════════════════════

Added Docker Capabilities:
  cap_add:
    - MKNOD       # Create device nodes for bind-mounting
    - SYS_CHROOT  # Use chroot for jail isolation

Performance Tuning (optimized for 2 CPU cores):
  --o:num_prespawn_children=1           # Pre-spawn 1 child process
  --o:per_document.max_concurrency=2    # Max 2 threads per document (matches CPU cores)

═══════════════════════════════════════════════════════════════
📊 IMPACT
═══════════════════════════════════════════════════════════════

BEFORE:
  ⚠️  "coolmount: Operation not permitted" (repeated errors)
  ⚠️  "Slow Kit jail setup with copying"
  ⚠️  "Insufficient hardware resources"
  ⚠️  Poor document editing performance

AFTER:
   No more coolmount errors (bind-mount working)
   Faster jail initialization
   Optimized for 2-core servers
   Smooth document editing
  ℹ️  Minor systemplate warning remains (safe to ignore)

═══════════════════════════════════════════════════════════════
🔄 DEPLOYMENT METHOD
═══════════════════════════════════════════════════════════════

Applied via live config update (NO data loss):
  1. docker compose down
  2. Update docker-compose.yml
  3. docker compose up -d

Downtime: ~30 seconds
User Impact: Minimal (refresh page to reconnect)
Data Safety:  All data preserved

═══════════════════════════════════════════════════════════════
📝 TECHNICAL DETAILS
═══════════════════════════════════════════════════════════════

Server Specs (CPX22):
  - CPU: 2 cores (detected with nproc)
  - RAM: 3.7GB total
  - Collabora limits: 1GB memory, 2 CPUs

Configuration follows Collabora SDK recommendations:
  - per_document.max_concurrency ≤ CPU cores
  - num_prespawn_children = 1 (suitable for small deployments)

Reference: https://sdk.collaboraonline.com/docs/installation/Configuration.html#performance

═══════════════════════════════════════════════════════════════
 FUTURE DEPLOYMENTS
═══════════════════════════════════════════════════════════════

All new clients will automatically get optimized Collabora configuration.

No rebuild required for config-only changes like this.

═══════════════════════════════════════════════════════════════

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-18 18:04:19 +01:00
..
defaults Add Collabora Office, 2FA, cron container, and dual-cache (#4) 2026-01-06 10:34:42 +01:00
handlers Deploy Nextcloud file sync/share with automated installation (#4) 2026-01-06 09:30:54 +01:00
tasks 🚀 GREEN CLIENT DEPLOYMENT + CRITICAL SECURITY FIXES 2026-01-18 17:06:04 +01:00
templates 🔧 fix: Optimize Collabora Online performance for 2-core servers 2026-01-18 18:04:19 +01:00