onflow/flow-emulator

Push latest to docker repository

Closed this issue · 9 comments

Could you push latest version to docker repository? I am using emulator:latest, but getting 404 when requesting http://localhost:8701/api. Workaround is to use fcl cli to run the emulator, but I prefer docker.

Note, I tried to build the image myself from /cmd/emulator, but getting error:

=> ERROR [build-app 6/6] RUN --mount=type=ssh     --mount=type=cache,target=/go/pkg/mod     --mount=type=cache,target=/root/.cache/go-build   0.2s
------
 > [build-app 6/6] RUN --mount=type=ssh     --mount=type=cache,target=/go/pkg/mod     --mount=type=cache,target=/root/.cache/go-build     GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=arm64     go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator:
#16 0.171 go: go.mod file not found in current directory or any parent directory; see 'go help modules'
------
executor failed running [/bin/sh -c GO111MODULE=on CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH     go build -ldflags "-extldflags -static" -o ./app ./cmd/emulator]: exit code

My bad, latest changes were already pushed to the docker repository. But, I am still wondering why /api is not found. This is not the case when running the emulator via the cli. What is the difference?

@onkel-skrue sorry for late response I was sick. What do you expect to be at the /api? The emulator doesn't have such an endpoint at all. I'm not sure I understand.

np, I hope you are well. I am running dev-wallet and emulator with docker. I did a mistake. /api is an endpoint in dev-wallet, not the emulator.

@sideninja Do you know why /api does not exist in ghcr.io/onflow/fcl-dev-wallet:latest? Should I open an issue there?

ohh, I see. The thing is that if you want to run the dev-wallet directly and use the /api endpoint you must run it with go, the /api endpoint is exposed here https://github.com/onflow/fcl-dev-wallet/blob/main/server.go
But that endpoint only exposes the used config, so if you run it as a next app you can pass that config as part of ENV vars.

So I can't just run fcl-dev-wallet with docker-compose? I remember that this worked before. What is the point of ghcr.io/onflow/fcl-dev-wallet then?

You can. But there's no /api endpoint in that case, you can see the config which /api otherwise exposes in the compose file https://github.com/onflow/fcl-dev-wallet/blob/main/docker-compose.yml

I changed FLOW_ACCESS_NODE=http://emulator:8888 to FLOW_ACCESS_NODE=http://localhost:8888 and everything worked xD Thanks for your time :)

Great that it works. Anytime.