Le schéma v2 de Runtipi refuse environment sous forme d'objet (erreur « services[0].environment must be an array »). Revient au format [{key, value}] utilisé avant le commit d24d0c1.
- Removed separate html volume, use /var/www as single web root
- Moved html/ content into www/html/
- Updated default.conf root to /var/www/html
- Allows organizing multiple sites under /var/www (html, mon_site, etc.)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runtipi copies app data/ contents to APP_DATA_DIR/data/, not APP_DATA_DIR/.
Without the data/ prefix, Docker creates empty directories instead of
using the actual config files, causing nginx to crash on startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- internalPort: 80 (number) -> "80" (string) to match Runtipi schema
- Added missing source field required for app discovery
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- id: nginx-custom -> nginx (must match folder name for Runtipi discovery)
- tipiVersion: 1 -> tipi_version: 2 (correct key name and version)
- Removed min_tipi_version and $schema fields
- Service name: nginx-custom -> nginx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract agent-template.conf and default/agent.conf from official
wazuh/wazuh-manager:4.14.1 image and store them in scripts/templates/.
The init-manager.sh script now copies these files instead of creating
them inline, ensuring consistency with official Wazuh configuration.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When /var/ossec/etc/shared is mounted as an empty volume, create the
required agent-template.conf and default/agent.conf files automatically.
This fixes group creation errors after fresh deployments.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add manager-shared volume to mount /var/ossec/etc/shared for Wazuh
manager, ensuring agent groups are persisted across container restarts.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Removed step 5 (manual restart via Runtipi interface) from the indexer
password change procedure. In Runtipi, clicking "Mettre à jour" already
restarts the application automatically, making the manual restart step
redundant.
Renumbered subsequent steps:
- Old step 6 → New step 5 (securityadmin.sh)
- Old step 7 → New step 6 (Update env vars)
- Old step 8 → New step 7 (Test passwords)
This simplifies the procedure and avoids confusion for users.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changed the API password test command to use localhost:55000 instead
of VOTRE_IP:55000 for better clarity since the command is executed
from the server itself via SSH.
This is more consistent with other local testing commands.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Docker exec does not interpret wildcards (*) in container names.
Replaced all `docker exec -it wazuh-runtipi_*-container-name` commands
with `docker exec -it $(docker ps --filter "name=container" --format "{{.Names}}")`.
This ensures the commands work correctly on all systems.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Merged update and restart steps into one since they're done
together in Runtipi interface (Update then Restart button).
Renumbered step 5 to step 4 (verification).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>