Skip to content

Reverse Proxy with Caddy returns 502 — FastAPI backend reachable, but routes like /test fail #10

@ChristophNeudorf

Description

@ChristophNeudorf

🧩 Critical Connectivity Issues with OpenManus (Docker + Caddy Setup)

Hi team,

I'm encountering major issues getting OpenManus to work behind Caddy on a dedicated server. Below is a structured overview of all tests, observations, and current limitations. I’ve spent over 20 hours debugging and would greatly appreciate your support.


🧭 Deployment Context

  • Hosting: Hetzner VPS (Ubuntu 22.04)
  • Reverse Proxy: Caddy (running via Docker)
  • Domain: https://assistent.agentaiplusblue.de
  • Caddyfile:
    assistent.agentaiplusblue.de {
        reverse_proxy openmanus_unified_1:8000
    }

❗️Main Problem

Despite working /openapi.json, calling /test through the public domain fails with HTTP 502 Bad Gateway.
All paths seem correctly routed. Backend confirms FastAPI is running, yet Caddy returns 502.

❗️Main Problem

🔍 Observations & Tests

✅ Backend Works Internally:

curl http://172.20.0.3:8000/openapi.json
curl http://172.20.0.3:8000/test ❌ {"detail": "Not Found"}

curl https://assistent.agentaiplusblue.de/test → ❌ HTTP 502

❌ Public Access via Domain
curl https://assistent.agentaiplusblue.de/test → ❌ HTTP 502

🔁 Docker & Network
• openmanus_unified_1 runs with correct port mapping to 0.0.0.0:8000
• caddy container reverse proxy targets that IP:PORT
• curl inside container now works (after manual install of curl)

📄 FastAPI Definition in src/server.py
@app.get("/test")
def test():
return JSONResponse(content={"message": "Caddy works!"})

❌ Frontend Container
• openmanus_frontend_1 exits with code 1 — unknown cause.
• The issue persists even without frontend container.

✅ What Works
• TLS and routing with Caddy are operational
• Backend responds on /openapi.json
• Internal docker network (172.20.0.X) correctly forwards

❓ Key Questions
1. Does OpenManus require the frontend container for /test or /docs to respond?
2. Are there known conflicts with FastAPI/Caddy routing in the unified setup?
3. Is there a preferred method to test OpenManus standalone (e.g. uvicorn manually)?
4. Should /test return the expected message even if frontend is missing?

🧪 System Details

Docker: v24+
Python: 3.11
Uvicorn: installed inside container
OS: Ubuntu 22.04
Caddy: latest Docker image

Image
Image

Image

Image

Thanks in advance for your time and support 🙏
This looks like a very promising project — I’d love to contribute once it’s up and running.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions