App reviews, troubleshooting, and recommendations
Hi!
I'm building nodejs shopify app from scratch, so far I have followed the getting started and I would like to run this inside a docker container. And whenever I run it inside a container I get this message
shopify-app | To run this command, log in to Shopify Partners.
shopify-app | 👉 Press any key to open the login page on your browser
shopify-app | ╭─ error ──────────────────────────────────────────────────────────────────────╮
shopify-app | │ │
shopify-app | │ process.stdin.setRawMode is not a function │
shopify-app | │ │
shopify-app | │ To investigate the issue, examine this stack trace: │
shopify-app | │ at (@shopify/cli-kit/src/public/node/ui.tsx:543) │
shopify-app | │ process.stdin.setRawMode(true) │
shopify-app | │ at new Promise │
shopify-app | │ at keypress (@shopify/cli-kit/src/public/node/ui.tsx:528) │
shopify-app | │ return new Promise((resolve, reject) => { │
shopify-app | │ at authorize (@shopify/cli-kit/src/private/node/session/authorize.ts:42) │
shopify-app | │ await keypress() │
shopify-app | │ at processTicksAndRejections (node:internal/process/task_queues:95) │
shopify-app | │ at async executeCompleteFlow │
shopify-app | │ (@shopify/cli-kit/src/private/node/session.ts:183) │
shopify-app | │ const code = await authorize(scopes) │
shopify-app | │ at async ensureAuthenticated │
shopify-app | │ (@shopify/cli-kit/src/private/node/session.ts:119) │
shopify-app | │ newSession = await executeCompleteFlow(applications, fqdn) │
shopify-app | │ at async ensureAuthenticatedPartners │
shopify-app | │ (@shopify/cli-kit/src/public/node/session.ts:34) │
shopify-app | │ const tokens = await ensureAuthenticated({partnersApi: {scopes}}) │
shopify-app | │ at async dev (@shopify/app/src/cli/services/dev.ts:88) │
shopify-app | │ const token = await ensureAuthenticatedPartners() │
shopify-app | │ at run (@shopify/app/src/cli/commands/app/dev.ts:106) │
shopify-app | │ await dev({ │
shopify-app | │ │
shopify-app | ╰──────────────────────────────────────────────────────────────────────────────╯
The error is clear, the CLI uses stdin which isn't supported when running inside docker. Is there a different way to input these credentials and also the settings questionnaire following this?
I did have a look inside the CLI code and found that it's using https://github.com/sindresorhus/env-paths this library to get a file path to store the settings. And I found these files in my ~/.config folder
// Inside: ~/.config/shopify-cli-app-nodejs/config.json
{
"/home/alex/Dev/shopify-app": {
"directory": "/home/alex/Dev/shopify-app",
"appId": "****************************",
"title": "************",
"storeFqdn": "************.myshopify.com",
"orgId": "*******",
"updateURLs": true
},
}
// And inside: ~/.config/shopify-cli-kit-nodejs/config.json
{
"__internal__": {
"migrations": {
"version": "3.11.0"
}
},
"sessionStore": "**"
"cache": {
"identity-introspection-url-accounts.shopify.com": {
"value": "https://accounts.shopify.com/oauth/introspection",
"timestamp": 1687867961362
}
}
}
I might be totally off, but I'm guessing these files are needed to login and store the settings, so I tried adding them to docker, for the first file there is an absolute path so I duplicated it and changed it to the app directory of the app inside docker container. But still, I get the same error 😕. Has anyone got this to work? If so please let me know how, I need help with figuring this one out.
Hey Community 👋 Did you know that March 15th is National Everything You Think Is W...
By JasonH Apr 1, 2025Discover how to increase the efficiency of commerce operations with Shopify Academy's l...
By Jacqui Mar 26, 2025Shopify and our financial partners regularly review and update verification requiremen...
By Jacqui Mar 14, 2025