Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect redis hostname in the env.docker.template results in getaddrinfo ENOTFOUND #22

Closed
naydenoff opened this issue May 9, 2024 · 1 comment
Assignees
Labels

Comments

@naydenoff
Copy link

naydenoff commented May 9, 2024

Describe the bug
Incorrect redis hostname in the env.docker.template results in getaddrinfo ENOTFOUND

To Reproduce
Steps to reproduce the behavior:

  1. Follow the Quick Start guide here - https://github.com/yjs/y-redis/tree/master?tab=readme-ov-file#quick-start-docker-compose
  2. Run the following commands
    git clone https://github.com/yjs/y-redis.git
    cd y-redis
    npm i
    cp .env.docker.template .env
    npx 0ecdsa-generate-keypair --name auth >> .env
  3. Here's how the .env looks like:
# This is a simple configuration to get this running using docker compose.

REDIS=redis://docker:6379

S3_ENDPOINT=minio
S3_PORT=9000
S3_SSL=false
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin

AUTH_PERM_CALLBACK=http://demo:5173/auth/perm
YDOC_UPDATE_CALLBACK=http://demo:5173/ydoc

LOG=* # log everything

## Generate the auth tokens with `npx 0ecdsa-generate-keypair --name auth >> .env

AUTH_PUBLIC_KEY={"key_ops":["verify"],"ext":true,"kty":"EC","x":"mI2DWTzk2Xxwzng07DK2TmAAXccw0L-SOji1MPbbJxagxOhr5IZlSP2THq3pe4Qy","y":"qaWkkuHq_Xbw64cRHsdZkF1W7QJtYoYa2K-dgclZlIm0Zv4EjeZM1Ql3RmiBqgP1","crv":"P-384"}
AUTH_PRIVATE_KEY={"key_ops":["sign"],"ext":true,"kty":"EC","x":"mI2DWTzk2Xxwzng07DK2TmAAXccw0L-SOji1MPbbJxagxOhr5IZlSP2THq3pe4Qy","y":"qaWkkuHq_Xbw64cRHsdZkF1W7QJtYoYa2K-dgclZlIm0Zv4EjeZM1Ql3RmiBqgP1","crv":"P-384","d":"5NefOVtM_NOxH5Chq5EvqZ_wyc_OueXtzGrV2FxwnUMz_Ik0J4TgpIsFCCfk6TnX"}
  1. Run demo:
    cd ./demos/auth-express
    docker compose up
  2. Get the error listed below
worker-1  | using s3 store
server-1  | using s3 store
demo-1    | Express Demo Auth server listening on port 5173
worker-1  | node:internal/process/promises:289
worker-1  |             triggerUncaughtException(err, true /* fromPromise */);
worker-1  |             ^
worker-1  |
worker-1  | Error: getaddrinfo ENOTFOUND docker
worker-1  |     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26)
worker-1  | Emitted 'error' event on Commander instance at:
worker-1  |     at RedisSocket.<anonymous> (/usr/src/app/node_modules/@redis/client/dist/lib/client/index.js:412:14)
worker-1  |     at RedisSocket.emit (node:events:519:28)
worker-1  |     at RedisSocket._RedisSocket_connect (/usr/src/app/node_modules/@redis/client/dist/lib/client/socket.js:166:18)
worker-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
worker-1  |     at async Commander.connect (/usr/src/app/node_modules/@redis/client/dist/lib/client/index.js:185:9)
worker-1  |     at async createApiClient (file:///usr/src/app/src/api.js:93:3)
worker-1  |     at async Module.createWorker (file:///usr/src/app/src/api.js:339:13) {
worker-1  |   errno: -3008,
worker-1  |   code: 'ENOTFOUND',
worker-1  |   syscall: 'getaddrinfo',
worker-1  |   hostname: 'docker'
worker-1  | }
worker-1  |
worker-1  | Node.js v20.13.0
server-1  | node:internal/process/promises:289
server-1  |             triggerUncaughtException(err, true /* fromPromise */);
server-1  |             ^
server-1  |
server-1  | Error: getaddrinfo ENOTFOUND docker
server-1  |     at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:120:26)
server-1  | Emitted 'error' event on Commander instance at:
server-1  |     at RedisSocket.<anonymous> (/usr/src/app/node_modules/@redis/client/dist/lib/client/index.js:412:14)
server-1  |     at RedisSocket.emit (node:events:519:28)
server-1  |     at RedisSocket._RedisSocket_connect (/usr/src/app/node_modules/@redis/client/dist/lib/client/socket.js:166:18)
server-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
server-1  |     at async Commander.connect (/usr/src/app/node_modules/@redis/client/dist/lib/client/index.js:185:9)
server-1  |     at async Module.createApiClient (file:///usr/src/app/src/api.js:93:3)
server-1  |     at async Promise.all (index 0)
server-1  |     at async registerYWebsocketServer (file:///usr/src/app/src/ws.js:82:32)
server-1  |     at async Module.createYWebsocketServer (file:///usr/src/app/src/server.js:43:3) {
server-1  |   errno: -3008,
server-1  |   code: 'ENOTFOUND',
server-1  |   syscall: 'getaddrinfo',
server-1  |   hostname: 'docker'
server-1  | }
server-1  |
server-1  | Node.js v20.13.0
worker-1 exited with code 1
server-1 exited with code 1
  1. Observe that changing the Redis hostname in the .env to: REDIS=redis://redis:6379 fixes the above issue.

Expected behavior
Build the project using the Quick Start guide.

Environment Information

"dependencies": {
    "lib0": "^0.2.93",
    "redis": "^4.6.12",
    "uws": "github:uNetworking/uWebSockets.js#v20.40.0",
    "yjs": "^13.5.6"
  },
  "optionalDependencies": {
    "postgres": "^3.4.3",
    "minio": "^7.1.3"
  },
  "engines": {
    "npm": ">=8.0.0",
    "node": ">=20.0.0"
  },
  "devDependencies": {
    "@codemirror/lang-javascript": "^6.2.2",
    "@codemirror/state": "^6.4.1",
    "@codemirror/view": "^6.24.1",
    "@rollup/plugin-commonjs": "^25.0.7",
    "@rollup/plugin-node-resolve": "^15.2.3",
    "@types/node": "^20.11.5",
    "@types/ws": "^8.5.10",
    "codemirror": "^6.0.1",
    "concurrently": "^8.2.2",
    "rollup": "^4.12.0",
    "standard": "^17.1.0",
    "typescript": "^5.3.3",
    "ws": "^8.16.0",
    "y-codemirror.next": "^0.3.2",
    "y-websocket": "^2.0.0"
  }
docker version
Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.7
 API version:       1.43
 Go version:        go1.20.10
 Git commit:        afdd53b
 Built:             Thu Oct 26 09:04:20 2023
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.26.1 (131620)
 Engine:
  Version:          24.0.7
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.10
  Git commit:       311b9ff
  Built:            Thu Oct 26 09:08:15 2023
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.25
  GitCommit:        d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f
 runc:
  Version:          1.1.10
  GitCommit:        v1.1.10-0-g18a0cb0
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Additional context
After changing the hostname, the error disappears but a new issue appears which I've outlined in this ticket - #23

@dmonad
Copy link
Member

dmonad commented May 9, 2024

Thanks, this should be fixed now!

@dmonad dmonad closed this as completed May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants