From e8f3154ca2cee573c4f260444d83b76cb1368cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20S=C3=A1nchez=20Pizarro?= Date: Tue, 20 Jan 2026 03:47:28 +0100 Subject: [PATCH] mongodb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Omar Sánchez Pizarro --- docker-compose.yml | 3 ++- web/backend/Dockerfile | 2 +- web/backend/routes/index.js | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6b22676..8cfd616 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -50,7 +50,8 @@ services: - wallabicher-network restart: unless-stopped healthcheck: - test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/api/stats"] + # Usar endpoint /health que no requiere autenticación + test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/api/health"] interval: 30s timeout: 10s retries: 3 diff --git a/web/backend/Dockerfile b/web/backend/Dockerfile index a827177..9f88c5d 100644 --- a/web/backend/Dockerfile +++ b/web/backend/Dockerfile @@ -18,7 +18,7 @@ COPY middlewares/ ./middlewares/ COPY routes/ ./routes/ COPY services/ ./services/ COPY utils/ ./utils/ -COPY workers.json ./workers.json +COPY ../workers.json ./workers.json # Exponer puerto EXPOSE 3001 diff --git a/web/backend/routes/index.js b/web/backend/routes/index.js index 9a7e0dd..909bbdb 100644 --- a/web/backend/routes/index.js +++ b/web/backend/routes/index.js @@ -6,6 +6,31 @@ import { broadcast } from '../services/websocket.js'; const router = express.Router(); +// Health check (no requiere autenticación) +router.get('/health', async (req, res) => { + try { + // Verificar que MongoDB está disponible (opcional, no falla si no está) + const db = getDB(); + const mongodbStatus = db ? 'connected' : 'unavailable'; + + res.json({ + status: 'ok', + timestamp: new Date().toISOString(), + mongodb: mongodbStatus, + service: 'wallamonitor-backend' + }); + } catch (error) { + // Incluso si hay un error, el servidor está funcionando, así que retornamos ok + res.json({ + status: 'ok', + timestamp: new Date().toISOString(), + mongodb: 'error', + service: 'wallamonitor-backend', + error: error.message + }); + } +}); + // Obtener estadísticas (requiere autenticación obligatoria) router.get('/stats', basicAuthMiddleware, async (req, res) => { try {