Bit of a newbie question here, but I’ve set up a local Forgejo server in my homelab that I’m using for personal projects. I’ve created some modules that I want to be able to reference in other local projects.

Trying to run

go get code.mydomainname.com/tapdattl/test

returns

go: downloading code.mydomainname.com/tapdattl/test v1.0.0
go: code.mydomainname.com/tapdattl/test@v1.0.0: verifying module: code.mydomainname.com/tapdattl/test@v1.0.0: reading https://sum.golang.org/lookup/code.mydomainname.com/tapdattl/test@v1.0.0: 404 Not Found
        server response: not found: code.mydomainname.com/tapdattl/test@v1.0.0: unrecognized import path "code.mydomainname.com/tapdattl/test": https fetch: Get "https://code.mydomainname.com/tapdattl/test?go-get=1": dial tcp <my netbird ip address>:443: connect: connection refused

However I know my Forgejo server is up, and I can push to it and clone from it and do all the normal Git workflows. But Go apparently can’t talk to it.

Can anyone explain what’s going on?

Thanks!!

  • tapdattl@lemmy.worldOP
    link
    fedilink
    arrow-up
    3
    ·
    2 months ago

    Looking at it again, I’m guessing the part where sum.golang.org/lookup tries to query my behind-netbird server is why the lookup is failing. But is there a way to gave Go not rely on an external service like that? Or have it run the query locally instead of from the sum.golang.org server?

      • tapdattl@lemmy.worldOP
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        Yup this fixed it – adding GOPRIVATE=code.mydomain.com as an environment variable allowed go get and go mod tidy to work with my private repos.

        Is there a way to set this globally, or to configure Go to always treat any references to code.mydomain.com as a private URL?

        • who@feddit.org
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          2 months ago

          The go env -w command can make most go environment variable settings persistent for the current user. Alternatively, you could set the environment variable in your shell’s login script.

          Be sure to read go’s docs for individual environment variables, because go doesn’t respect all methods of setting them in every case. (For example, it ignores certain approaches to disabling its telemetry. How convenient for Google.)

  • Arghblarg@lemmy.ca
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    I don’t know if this will help, but I documented how to configure my Caddy webserver to serve golang vanity URLs here.