Internal server error. Is there a chance you might enable this feature in some form? That's a feature I'm personally painfully missing on pkg.go.dev, and was really hoping to see resurrected on godocs.io
Hm, I'm open to it, but I'm not sure how it works on godoc.org. I'll investigate when I get the chance, if you have time feel free to pull down the gddo sources and see if you can identify the requirements.
It shells out to
dot. My initial guess would be that maybe you don't have
graphvizinstalled in the container/jail/machine/...? If you don't want to do that (I didn't yet explore what are the limits on throttling on this feature), I would think offloading this to JS/WASM could be acceptable.
That doesn't seem to be the only requirement: dot is installed on the server.
Hm; given that ImportGraph seems to also use Redis, and the "Internal error" message I got is rather spartan, it's not currently clear to me how I could further help debugging this without access to the infrastructure. Still, as a quick check that could still hopefully tell us a bit more, is there a chance you could be able to find some corresponding message in the server logs, matching the URL I listed in the OP of the issue?
Redis is running on the box. Have you been able to generate graphs locally? It would help nail down the issue if you could reproduce it by running gddo locally, the setup time is pretty low.
There is nothing useful in the logs, I'm afraid.
Do you have any hints or working notes as to how to set up the environment? E.g. I know basically nothing about Redis.
Redis takes care of itself, just install it and start it. Postgresql would require a bit more effort, but I'm pretty sure it's optional with the way we have things setup here.
Curious: with Redis in separate console, but without graphviz (I forgot about it initially), I got "Internal server error" and:
$ go run -v ./gddo-server/ WARN[01-19|21:30:12] failed to load configuration file error="Config File \"gddo\" Not Found in \"[/home/akavel/prog/gddo /etc]\"" DBUG[01-19|21:30:12] config values loaded values="map[assets:/home/akavel/prog/gddo/gddo-server/assets config: crawl_interval:0s db-idle-timeout:4m10s db-log:false db-server:redis://127.0.0.1:6379 default_goos: dial_timeout:5s first_get_timeout:5s get_timeout:8s github_interval:0s http::8080 max_age:24h0m0s memcache_addr: pg-server: request_timeout:20s robot:100 sidebar:false trace_fraction:0.1 trace_max_qps:5 trust_proxy_headers:false]" 2021/01/19 21:30:34 web fetch: 2190 put: 8-88516fde4023aafa335f8da0a12a95bab0f8033a github.com/akavel/up 2021/01/19 21:30:37 Error serving /github.com/akavel/up?import-graph: exec: "dot": executable file not found in $PATH
on the console, but once I installed graphviz (edit: and started the server again), I can see the graph rendered successfully.
Got it. It was throttling because it didn't trust the proxy headers from nginx. Works now.