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.
2m ago Learn the essential skills to navigate the Shopify admin with confidence. T...
By Shopify Feb 12, 2025Learn how to expand your operations internationally with Shopify Academy’s learning path...
By Shopify Feb 4, 2025Hey Community, happy February! Looking back to January, we kicked off the year with 8....
By JasonH Feb 3, 2025