a year ago
does this override ENTRYPOINT or CMD in the dockerfile? i can't get it to work no matter what, it keeps returning ERROR Unknown command node /app/node_modules/saaskitty/build/production/main.js start --service=worker
this is the default in the Dockerfile which is working fine in another service that doesn't configure Custom Start Command
ENTRYPOINT [ "node", "/app/node_modules/saaskitty/build/production/main.js" ]
CMD [ "start", "--service=server"]
followed the guide here https://docs.railway.app/reference/build-and-start-commands#start-command, but it seems not working?
0 Replies
a year ago
when a dockerfile or image is in use that custom start command will overwrite the entrypoint and cmd
a year ago
can you share your entire dockerfile?
a year ago
does this work if you omit the start command in the service settings?
yeah i have another service that doesn't have custom start command and it's working fine with this Dockerfile
i run 2 services
server -> fastify server with remix which is run via start --service=server
worker -> bullmq which is run via start --service=worker
a year ago
those two services seem like they wouldnt be using the same dockerfile
a year ago
either way, what runtime are you currently on?
i'm pretty sure Dockerfile doesn't have any issue, as i have compose.yml that uses the same and it's running fine locally
a year ago
railway runtime, check your service settings
a year ago
switch to legacy and see what happens
is there a way to know how railway apply Custom Start Command
?
'cause ENTRYPOINT and CMD are pretty different and the docs is very ambiguous
a year ago
i would have to ask a team member, and they are very busy at the moment so i dont want to disturb them.
are you on the v2 builder or the legacy builder?
a year ago
builder, not runtime
a year ago
try disabling it
ok seems like this is the culprit, i'm seeing a different error that's not related to deployment
a year ago
what error
a year ago
thats because you arent on the v2 runtime
a year ago
no, your app should be on v2
a year ago
your databases are on legacy regardless since they have a volume
both my services have the same env and v2 runtime (same as redis queue) but only server can connect to queue.railway.internal (private) and not the worker
i remember bumping into the same 2 months back when i tried railways
a year ago
thats not the case at all, something is misconfigured
a year ago
what error do you get from the worker
a year ago
is it on the v2 runtime?
a year ago
what kind of worker is the worker?
node /app/node_modules/saaskitty/build/production/main.js start --service=worker
this command runs bullmq underneath
a year ago
how are you telling it to connect to redis?
a year ago
url or host, port, username, password?
https://github.com/saaskitty/starter/blob/main/.env.docker#L8
this is how i connect the server/worker when they all running in the docker compose cluster locally
on railway, it's currently configured to the one in screenshot
a year ago
append ?family=0
to the end of the url
a year ago
the private network is ipv6 only but ioredis (what bullmq uses) defaults to only ipv4
oh man, this is finally working, i was wrong that server was able to connect to the queue as i configured it to connect lazily
a year ago
there is still the issue of the new builder not working for you
a year ago
you wont be able to use the old builder forever so its best we sort that out sooner than later
yeah, but at least i can now demo to my co-founder to convince them to switch to railway, wish me luck
a year ago
good luck!
a year ago
fwiw i deployed a direct fork of your repo with no changes and could not reproduce the issue, i of course get some missing environment variables error but the app does technically start
a year ago
as long as you sort out the issue with the v2 builder
a year ago
not quite
so basically v2 builder doesn't work well with custom start command at the moment
a year ago
im trying to reproduce
a year ago
v2 builder, v2 runtime, the same custom start command you used, the same repo you used, app crashed but it did start.
am i missing anything?
a year ago
well yeah but the point is the app did start, you where not able to have that happen with the v2 builder
a year ago
im going to say that you have something misconfigured somewhere else
i'm also not sure, i'm using default mostly, is there any other configuration that we need to be aware of?
a year ago
can you send me the full deploy logs -
a year ago
L
a year ago
deploy logs please
a year ago
where is (app v0.1.0)
coming from?
a year ago
then your app did indeed start
now that you mentioned it, it's possible that the process.argv is wrongly parsed by the library i'm using for building the CLI
a year ago
yeah this isnt an issue with the v2 builder, but it is odd all the same
is this ur custom start command?
node /app/node_modules/saaskitty/build/production/main.js start --service=worker
a year ago
yep
a year ago
pasted it in and railway said there was no changes made
a year ago
perhaps, im not really sure whats causing it, but the fact that your app has started means this isnt exactly an issue with railway
a year ago
no problem!