42 Commits

Author SHA1 Message Date
Gui-Gos
2a6946cac4 refactor(nginx): single www volume with html/ subdirectory
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
- 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>
2026-02-12 14:39:43 +01:00
Gui-Gos
5c72b3f3f9 fix(nginx): use correct data/ prefix for volume paths
Some checks failed
Test / test (push) Has been cancelled
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>
2026-02-12 14:27:01 +01:00
Gui-Gos
29ea05eb4d fix(nginx): add required schemaVersion: 2 for env key/value format
Some checks failed
Test / test (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 14:08:51 +01:00
Gui-Gos
1306d16d42 fix(nginx): internalPort as string + add missing source field
Some checks failed
Test / test (push) Has been cancelled
- 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>
2026-02-12 11:12:26 +01:00
Gui-Gos
29e8ea918f fix(nginx): add missing logo.jpg for app store discovery
Some checks failed
Test / test (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 11:10:38 +01:00
Gui-Gos
9e80ff91c3 fix(nginx): align id and service name with folder name
Some checks failed
Test / test (push) Has been cancelled
- 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>
2026-02-12 11:08:50 +01:00
Gui-Gos
430f6e2baa feat(nginx): add hardened nginx app with security improvements
Some checks failed
Test / test (push) Has been cancelled
- Rate limiting (10 req/s per IP, burst 20)
- Modern security headers (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy)
- Request body size limits (50m)
- Fixed header inheritance bug in static files location block
- Removed unused form fields (NGINX_INTERNAL_PORT, NGINX_ENABLE_ACCESS_LOG)
- SSL handled by Runtipi reverse proxy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 11:00:24 +01:00
Gui-Gos
698bccf49d refactor(wazuh): use official templates for shared directory
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
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>
2026-01-29 11:33:31 +01:00
Gui-Gos
c46bf15214 fix(wazuh): create default shared files on first start
Some checks failed
Test / test (push) Has been cancelled
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>
2026-01-29 11:09:23 +01:00
Gui-Gos
4b93b23606 fix(wazuh): persist agent groups between restarts
Some checks failed
Test / test (push) Has been cancelled
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>
2026-01-29 10:20:29 +01:00
Gui-Gos
fe952bd43a docs: Remove unnecessary restart step in password change procedure
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
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>
2026-01-06 14:26:02 +01:00
Gui-Gos
10299e5475 feat: Add MediaMTX streaming server app
Some checks failed
Test / test (push) Has been cancelled
Add MediaMTX 1.15.6 - Modern, ready-to-use media streaming server

Features:
- Multi-protocol support: RTSP, RTMP, HLS, WebRTC, SRT
- Zero configuration required to start
- Automatic protocol conversion
- Built-in recording capabilities (fMP4 format)
- REST API for programmatic control
- Prometheus metrics endpoint
- Low resource consumption (Go-based)

Configuration:
- Main web UI port: 8889 (WebRTC)
- RTSP: 8554, RTMP: 1935, HLS: 8888
- API: 9997, Metrics: 9998
- Optional authentication for API
- Optional stream recording
- Resource limits: 2 CPU / 2GB RAM (limits), 1 CPU / 512MB RAM (reservations)

Volumes:
- recordings: Persistent storage for recorded streams
- config: Configuration files

Use cases:
- IP camera surveillance (RTSP/ONVIF)
- Live streaming events
- Broadcasting (OBS Studio, FFmpeg)
- WebRTC video conferencing
- IoT and drone video transmission

Documentation:
- Complete French documentation in description.md
- Usage examples for OBS, FFmpeg, VLC
- API reference and examples
- Troubleshooting guide

Note: logo.jpg needs to be added manually (see LOGO_README.txt)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-06 13:53:06 +01:00
Gui-Gos
a44b4c51ae docs: Use localhost instead of VOTRE_IP for API test command
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
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>
2026-01-05 11:19:42 +01:00
Gui-Gos
e73b07e2ca docs: Fix docker exec commands to use command substitution instead of wildcards
Some checks failed
Test / test (push) Has been cancelled
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>
2026-01-05 11:04:10 +01:00
Gui-Gos
b51ae53262 docs: Simplify API password change steps 3-4
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
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>
2026-01-04 19:48:38 +01:00
Gui-Gos
796e9f4a93 docs: Simplify API password change to single manual method
Some checks failed
Test / test (push) Has been cancelled
Removed the "one-liner" docker exec approach and kept only
the manual method (entering the container).

This is simpler and easier to follow:
1. Enter container
2. View current config with cat
3. Replace password with sed
4. Verify with grep
5. Exit

User preference: keep it straightforward with one clear method
instead of multiple alternatives.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:45:52 +01:00
Gui-Gos
65f171fe4f docs: Fix sed regex to match password without quotes in wazuh.yml
Some checks failed
Test / test (push) Has been cancelled
The actual wazuh.yml file has passwords WITHOUT quotes:
  password: MyS3cr37P450r.*-

But the sed command was searching FOR quotes:
  password: "MyS3cr37P450r.*-"

This caused the sed command to not match and not replace anything.

Fixed by removing quotes from the sed pattern to match the actual
YAML format used by Wazuh.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:39:06 +01:00
Gui-Gos
810737da6f docs: Replace vi/nano with sed for wazuh.yml password edit
Some checks failed
Test / test (push) Has been cancelled
The dashboard container doesn't have vi or nano installed.
Replaced manual editing instructions with automated sed command.

Changes:
- Added one-liner sed command to replace password directly
- Added verification command to check the change
- Kept manual alternative for troubleshooting
- Escaped special characters in regex (. and *)

This makes the password change procedure much simpler and
doesn't require installing additional tools in the container.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:29:40 +01:00
Gui-Gos
73a6def2cc docs: Add missing wazuh.yml edit step for API password change
Some checks failed
Test / test (push) Has been cancelled
According to official Wazuh documentation, changing the API password
requires updating BOTH:
1. The wazuh.yml file in the dashboard container
2. The API_PASSWORD environment variable

Previous documentation only mentioned step 2, which is incomplete.

Added:
- Step to edit /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
- Warning that this file is not in a persistent volume
- Link to official documentation
- vi editor instructions for YAML modification

Fixes incomplete API password change procedure.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:25:14 +01:00
Gui-Gos
835f2e4b59 docs: Fix password testing commands to use docker exec
Some checks failed
Test / test (push) Has been cancelled
Port 9200 is not exposed to the host (security by design).
Updated all OpenSearch API test commands to use docker exec
from within Wazuh containers instead of direct host access.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:13:34 +01:00
Gui-Gos
fb4da63e20 docs: Add simple and effective password testing section
Some checks failed
Test / test (push) Has been cancelled
Add concise testing commands after password change procedure:
- Test admin via Dashboard and API
- Test kibanaserver via API
- Security test to verify old passwords no longer work

Simple, clear, and actionable for users.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 19:00:29 +01:00
Gui-Gos
9045574071 fix: Prevent indexer-init logs from appearing twice in health check
Some checks failed
Test / test (push) Has been cancelled
Add special handling in log display loop to exclude indexer-init
when matching indexer container. Without this fix, grep matches
both wazuh-indexer and wazuh-indexer-init when service=indexer,
causing indexer-init logs to display twice.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 18:56:03 +01:00
Gui-Gos
ce718b1779 docs: Clarify file path instructions for internal_users.yml
Some checks failed
Test / test (push) Has been cancelled
Simplify the confusing find the exact path step by showing that
wildcards work directly with nano. Add fallback instructions with
concrete example if wildcards do not work.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:55:02 +01:00
Gui-Gos
ca30efda3c docs: Provide complete step-by-step password change procedure
Some checks failed
Test / test (push) Has been cancelled
Add detailed, actionable instructions for changing Wazuh passwords
adapted for Runtipi deployment:
- Complete hash.sh interaction examples
- Step-by-step internal_users.yml editing guide
- Full securityadmin.sh command sequence with expected output
- Runtipi UI navigation instructions
- API password testing commands
- Clear distinction between Indexer vs API procedures

This matches the official Wazuh documentation but adapted for
Runtipi paths and workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:50:57 +01:00
Gui-Gos
ee1a4497a1 fix: Clarify that securityadmin.sh procedure is mandatory
Some checks failed
Test / test (push) Has been cancelled
Remove misleading suggestion that setting passwords in Runtipi form
before installation can bypass the official hash.sh + securityadmin.sh
procedure. Make it clear this is the ONLY supported method.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:49:09 +01:00
Gui-Gos
4bbb4afd05 docs: Add web-based health check verification section
Some checks failed
Test / test (push) Has been cancelled
Add documentation for post-installation health verification via
the Wazuh web interface at /app/logs#/health-check endpoint.
This provides users with a visual alternative to the CLI script.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:47:16 +01:00
Gui-Gos
c3c4cc2285 fix: Remove reference to non-existent password configuration method
Some checks failed
Test / test (push) Has been cancelled
Remove contradictory sentence referencing removed "Méthode 1" for
pre-installation password configuration. Replace with accurate guidance
emphasizing setting strong passwords during initial Runtipi installation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:45:37 +01:00
Gui-Gos
5b73333a2c fix: Remove non-functional pre-installation password method
Some checks failed
Test / test (push) Has been cancelled
CRITICAL CORRECTION: Removed the "Méthode 1: Avant l'Installation" which
was not based on official Wazuh documentation and is non-functional.

The ONLY supported method for changing passwords in Wazuh Docker is the
post-installation procedure using hash.sh and securityadmin.sh tools.

Changes:
- Removed misleading "Méthode 1" that suggested pre-install env vars work
- Added clear security warning that default passwords are public
- Emphasized that post-installation procedure is MANDATORY
- Clarified that Runtipi env vars alone are NOT sufficient for security
- Updated title to "OBLIGATOIRE pour Production" (mandatory)

This aligns documentation with official Wazuh security procedures:
https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:42:44 +01:00
Gui-Gos
adb40a5795 docs: Update password change procedure to match official Wazuh documentation
Some checks failed
Test / test (push) Has been cancelled
Replaced the simplified password change instructions with the official
Wazuh Docker deployment procedure from:
https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html

Changes:
- Added reference link to official Wazuh documentation
- Updated Méthode 2 with official hash generation procedure using hash.sh
- Added complete securityadmin.sh command with correct paths
- Specified password requirements (8-64 chars with symbols for API)
- Added warning about complexity of post-install password changes
- Emphasized pre-installation password configuration as best practice

This ensures users follow the correct and secure procedure for changing
passwords in Wazuh Docker deployments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:38:46 +01:00
Gui-Gos
207aa803c6 fix: Add required devices field to deploy.resources.reservations
Some checks failed
Test / test (push) Has been cancelled
Runtipi schema requires the 'devices' array field in reservations section.
Added empty devices array to all three services with resource limits:
- wazuh-indexer
- wazuh-manager
- wazuh-dashboard

This fixes the schema validation error:
"Invalid input: expected array, received undefined"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:24:07 +01:00
Gui-Gos
cfb4f7e6d0 fix: Resolve shellcheck SC2155 warnings in health check script
Some checks failed
Test / test (push) Has been cancelled
Separate variable declaration and assignment to avoid masking return values.
This follows shellcheck best practices for error handling.

Changes:
- Separate declaration/assignment for container_name (line 59-60)
- Separate declaration/assignment for status (line 67-69)
- Separate declaration/assignment for health (line 68-70)
- Separate declaration/assignment for exit_code (line 86-87)

All 4 SC2155 warnings are now resolved.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:19:45 +01:00
Gui-Gos
8cd871c61d feat: Add production-grade resource limits and security improvements
Some checks failed
Test / test (push) Has been cancelled
Based on Kubernetes configuration analysis from wazuh-kubernetes-main repository.

Changes to docker-compose.json:
- Add resource limits (CPU/RAM) to all services based on K8s recommendations
  * Indexer: 0.5-1.0 CPU, 1-2GB RAM
  * Manager: 1.0-2.0 CPU, 1-2GB RAM
  * Dashboard: 0.2-0.4 CPU, 512MB-2GB RAM
- Add Log4j security flag: -Dlog4j2.formatMsgNoLookups=true (CVE-2021-44228)
- Add DISABLE_INSTALL_DEMO_CONFIG=true for indexer security
- Add WAZUH_NODE_TYPE=master for explicit node configuration
- Add SERVER_SSL_ENABLED=true for dashboard

Changes to metadata/description.md:
- Update prerequisites with CPU/RAM/Disk requirements
- Add "Variables d'Environnement Techniques" section
- Rewrite "Limites de Ressources" with K8s-based recommendations
- Update "Espace Disque" with production storage requirements
- Add new section "Considérations de Production et Scaling"
  * Single-node deployment limitations
  * HA configuration with Kubernetes
  * Scaling recommendations
  * Production security checklist
  * Backup script for critical volumes

All improvements follow official Wazuh Kubernetes production configurations
for optimal stability and security.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:14:58 +01:00
Gui-Gos
ae10472528 Add wazuh-kubernetes reference repository
Some checks failed
Test / test (push) Has been cancelled
Added official Wazuh Kubernetes deployment repository for reference.
This provides:
- Kubernetes manifests for production deployments
- Resource limits and health check configurations
- Security best practices
- Multi-node and HA deployment examples

Useful for future improvements and K8s migration considerations.

Size: 900K

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 13:04:02 +01:00
Gui-Gos
65b9ce6651 Remove confusing bug mentions from success messages
Some checks failed
Test / test (push) Has been cancelled
- Changed 'Bug #3 fixed' to 'persistent via symlink' when config is OK
- Changed 'pthread_create fix present' to 'Configured (prevents pthread_create errors)'
- Only mention bugs/fixes in error/warning states, not in success states
- Makes the output clearer and less confusing for users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 12:54:38 +01:00
Gui-Gos
1eefc857e1 Improve health check output colors and accuracy
Some checks failed
Test / test (push) Has been cancelled
- Change SSL verification to GREEN when configured via env vars (it's correct)
- Show '0 FAILED' in GREEN when there are no failures (success state)
- Fix GB calculation rounding (use %.0f instead of int to round properly)
- Add ≈ symbol before GB value for clarity (8,1G ≈ 8 GB instead of incorrect 6 GB)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 12:51:57 +01:00
Gui-Gos
e7752c1b12 Standardize disk usage to 7 GB across all documentation
Some checks failed
Test / test (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Changed all disk size references from ~7-8GB, 7,4G, and ~5GB to consistent 7 GB format for professional appearance.

Updated files:
- description.md (2 occurrences)
- wazuh-health-check.sh (4 occurrences)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 17:42:52 +01:00
Gui-Gos
61a489c2de Fix resource limits documentation
Some checks failed
Test / test (push) Has been cancelled
Corrected resource limits section to reflect actual docker-compose.json configuration.
Uses Java heap and ulimits, not deploy.resources.limits.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 17:41:03 +01:00
Gui-Gos
96b46cb4b1 Add logs and reference documentation resources
Some checks failed
Test / test (push) Has been cancelled
- Add logs.txt (328KB) - health check and diagnostic logs
- Add wazuh-documentations/ - Offline copies of official Wazuh Docker documentation (HTML)
- Add wazuh-official-docker-main/ - Complete official Wazuh Docker repository for reference

These resources provide offline documentation and troubleshooting reference for the Wazuh RunTipi deployment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 16:07:23 +01:00
Gui-Gos
72387c5538 Fix documentation and health check inconsistencies
Some checks failed
Test / test (push) Has been cancelled
- Update health check SSL verification message to be informative instead of warning
- Health check now accepts both 'full' and 'certificate' SSL modes
- Fix description.md to match actual implementation (no dashboard watchdog)
- Correct init-manager.sh and init-dashboard.sh documentation examples
- Replace obsolete dashboard migration section with actual manager persistence logic

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 16:01:20 +01:00
Gui-Gos
08d4b38f9a Fix: Remove keystore before entrypoint to avoid interactive prompt
Some checks failed
Test / test (push) Has been cancelled
The official Wazuh dashboard entrypoint prompts 'Overwrite? [y/N]' if
the keystore already exists. This causes the container to hang waiting
for user input on fresh installs.

Solution: Delete the keystore file before exec'ing the entrypoint.
The entrypoint will recreate it automatically without prompting.

This ensures fresh installs work without manual intervention.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 15:33:16 +01:00
Gui-Gos
2fc6b0e6fe Fix: Replace init-dashboard.sh with simplified version
Some checks failed
Test / test (push) Has been cancelled
- Remove watchdog and migration detection logic (over-engineered)
- Remove keystore creation (let official entrypoint handle it)
- Use exec /entrypoint.sh instead of background process
- Reduce from 135 lines to 50 lines
- Follow official Wazuh Docker patterns

This fixes the dashboard restart loop caused by keystore prompt.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 15:19:11 +01:00
Gui-Gos
46122d5a7f Initial commit - Runtipi Appstore with Wazuh 4.14.1
Some checks failed
Test / test (push) Has been cancelled
- Added Wazuh 4.14.1 SIEM/XDR application for Runtipi
- Simplified init scripts following official Wazuh Docker patterns
- Complete documentation in French (description.md)
- Health check diagnostic script (wazuh-health-check.sh)
- SSL/TLS certificates auto-generation
- Whoami test application included

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-02 12:26:29 +01:00