Skip to content

Troubleshooting

Common issues and how to resolve them.

Gateway Not Connecting

Symptom: Gateway status shows "Disconnected" in the dashboard header.

Causes and fixes:

  1. Gateway container not running

    bash
    docker compose ps gateway
    # If not running:
    docker compose up -d gateway
  2. Gateway token mismatch Verify GATEWAY_TOKEN in .env matches what the gateway expects:

    bash
    grep GATEWAY_TOKEN .env
    docker compose logs gateway | grep "token"
  3. AI model API key invalid The gateway connects to your AI provider on startup. If the API key is wrong:

    bash
    docker compose logs gateway | grep -i "error\|auth\|key"

    Fix the MODEL_API_KEY in .env and restart: docker compose restart gateway

  4. Port conflict Check if port 18789 is in use:

    bash
    ss -tlnp | grep 18789

Agent Not Responding

Symptom: You click Execute but nothing happens, or the task stays in "In Progress" indefinitely.

  1. Check gateway connection — the gateway must be connected (see above)

  2. Check agent status — the agent should show as "Online"

    bash
    docker compose logs backend | grep "agent" | tail -20
  3. Check for errors — look at both backend and gateway logs:

    bash
    docker compose logs backend --tail 50
    docker compose logs gateway --tail 50
  4. AI provider rate limit — your provider may be throttling requests. Check the gateway logs for rate limit errors.

  5. Restart the gateway:

    bash
    docker compose restart gateway

Cannot Log In

Symptom: Login page returns "Invalid credentials" even with correct password.

  1. Check email format — use the exact email from setup (case-sensitive)

  2. Reset password via CLI:

    bash
    helix reset-password admin@company.com
  3. Check backend is running:

    bash
    docker compose ps backend
    curl http://localhost:8000/api/health
  4. Check database connection:

    bash
    docker compose logs backend | grep -i "database\|postgres\|connection"

Database Connection Errors

Symptom: Backend logs show database connection errors.

  1. Check PostgreSQL is running:

    bash
    docker compose ps db
    docker compose logs db --tail 20
  2. Verify DATABASE_URL:

    bash
    grep DATABASE_URL .env

    Format: postgresql+asyncpg://user:password@db:5432/helix_mc

  3. Check disk space — PostgreSQL needs free disk:

    bash
    df -h
  4. Restart database:

    bash
    docker compose restart db
    # Wait for it to be healthy, then restart backend
    docker compose restart backend

Migration Errors

Symptom: Backend fails to start with Alembic migration errors.

  1. Check current migration state:

    bash
    docker compose exec backend alembic current
  2. Run pending migrations:

    bash
    docker compose exec backend alembic upgrade head
  3. If migrations are corrupted, restore from backup:

    bash
    helix restore backups/latest-backup.sql.gz

SSL Certificate Issues

Symptom: Browser shows SSL errors or certificate warnings.

  1. Check Caddy logs:

    bash
    docker compose logs caddy --tail 50
  2. DNS not pointing to server — verify your domain points to your server's IP:

    bash
    dig +short your-domain.com
  3. Port 80/443 blocked — Let's Encrypt needs port 80 for validation:

    bash
    sudo ufw status
    # Ensure ports 80 and 443 are allowed
  4. Force certificate renewal:

    bash
    docker compose restart caddy

Frontend Not Loading

Symptom: Blank page or "Cannot connect" error.

  1. Check frontend container:

    bash
    docker compose ps frontend
    docker compose logs frontend --tail 20
  2. API URL mismatchNEXT_PUBLIC_API_URL must be accessible from the browser:

    bash
    grep NEXT_PUBLIC_API_URL .env

    If changed, rebuild: docker compose up -d --build frontend

  3. CORS error — check browser console for CORS errors:

    bash
    grep CORS_ORIGINS .env
    # Must include the frontend's URL

High Memory Usage

Symptom: Server is slow or services are being killed.

  1. Check memory usage:

    bash
    docker stats --no-stream
    free -h
  2. Reduce memory — if running on a small server:

    • Set LOG_LEVEL=warning to reduce log volume
    • Consider using a smaller AI model
  3. Check for runaway processes:

    bash
    top -o %MEM

Telegram Bot Not Working

See the Telegram troubleshooting section.

Getting Help

If none of these solutions work:

  1. Collect diagnostics:

    bash
    helix health > health-report.txt
    docker compose logs > docker-logs.txt 2>&1
  2. Check the logs for specific error messages:

    bash
    docker compose logs --tail 200 2>&1 | grep -i error
  3. Contact support at helixnode.tech with your health report and logs.

Log Locations Quick Reference

LogCommand
All servicesdocker compose logs
Backenddocker compose logs backend
Frontenddocker compose logs frontend
Gatewaydocker compose logs gateway
Databasedocker compose logs db
Redisdocker compose logs redis
Caddydocker compose logs caddy
Systemdjournalctl -u helix-mission-control

Built by HelixNode