omnivore-app / omnivore

Omnivore is a complete, open source read-it-later solution for people who like reading.
https://omnivore.app
GNU Affero General Public License v3.0
12.27k stars 617 forks source link

"Redis is not initialized" Error on User Signup #4211

Closed codevski closed 1 month ago

codevski commented 1 month ago

I encountered an issue while trying to deploy a modified Docker Compose setup in my homelab. To verify, I tested running it locally and faced the same error.

Steps to Reproduce:

Follow the README instructions:

git clone https://github.com/omnivore-app/omnivore
cd omnivore
docker compose up

Attempt to sign up and observe an unknown error on the frontend.

Expected Behavior: The user should be able to sign up successfully without encountering any errors.

Actual Behavior: The frontend shows an unknown error upon attempting to sign up. The API service logs display the following stack trace:

 {
omnivore-api               |     "replicationMode": "master",
omnivore-api               |     "parameters": [
omnivore-api               |         "ARTICLE",
omnivore-api               |         "3a88ae4e-4505-11ef-accc-e3c3462fa3d1",
omnivore-api               |         "omnivore_get_started"
omnivore-api               |     ]
omnivore-api               | }
omnivore-api               | [app@12:57:03] COMMIT
omnivore-api               | {
omnivore-api               |     "replicationMode": "master"
omnivore-api               | }
omnivore-api               | [app@12:57:03] Publishing userCreated: {"userId":"8g66ae4e-4505-11ef-accc-e343c462fa3d1","email":"SOME-EMAIL@EXAMPLE.COM","name":"SOME-NAME","username":"SOME-USERNAME"}
omnivore-api               | [app@12:57:03] email-signup exception: Can not create queues, redis is not initialized
omnivore-api               | {
omnivore-api               |     "stack": "Error: Can not create queues, redis is not initialized\n    at getBackendQueue (/app/packages/api/dist/src/queue-processor.js:56:15)\n    at enqueueSendEmail (/app/packages/api/dist/src/utils/createTask.js:645:63)\n    at sendNewAccountVerificationEmail (/app/packages/api/dist/src/services/send_emails.js:20:60)\n    at createUser (/app/packages/api/dist/src/services/create_user.js:113:71)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async /app/packages/api/dist/src/routers/auth/auth_router.js:357:13"
omnivore-api               | }

Environment:

Additional Context: It seems like Redis is not being initialized properly. Happy to provide more logs if needed.

codevski commented 1 month ago

Message from discord seems to fix the issue.

API needs 2 more env vars:

REDIS_URL='redis://redis:6379'
MQ_REDIS_URL='redis://redis:6379'