a year ago
How will I do this?
0 Replies
a year ago
is this a shared or isolated monorepo?
a year ago
are you using something like turbo or nx?
a year ago
pnpm workspaces?
a year ago
sounds good, can you share your scripts object of your root package.json please
"test": "echo \"Error: no test specified\" && exit 1",
"build:libs": "pnpm --filter '@astral/*' build",
"predev": "pnpm run build:libs",
"prebuild": "pnpm run build:libs",
"dev": "dotenv -- shopify app dev --no-color",
"dev-remix": "dotenv -- pnpm run --filter=remix-app dev",
"dev-nest": "dotenv -- pnpm run --filter=nest-app start:dev",
"test:nest": "dotenv -- pnpm run --filter=nest-app test:watch",
"migrate": "dotenv -- pnpm run --filter=@astral/db migrate",
"generate": "dotenv -- pnpm run --filter=@astral/db generate",
"studio": "dotenv -- pnpm run --filter=@astral/db studio",
"shopify": "shopify",
"config:link": "shopify app config link",
"config:use": "shopify app config use",
"deploy": "shopify app deploy",
"codegen": "pnpm run --filter=remix-app graphql-codegen"
a year ago
looks like you have the applicable scripts to start remix and nest in dev mode, but are missing the scripts to start them in production mode?
I can add them, but its essentially
migrate -> nest build -> nest start
migrate -> remix build -> remix start
a year ago
yep please add build and start scripts like you just mentioned for both apps that are geared to running the two apps in a production environment
I can add them, but can you continue what to do next?
Imagine I have
pnpm run build:nest
pnpm run start:nest
pnpm run build:remix
pnpm run start:remix
How do I configure in nixpack file for 2 services
a year ago
of course! you would need two railway services, but at this time im not thinking that you would need any nixpacks.toml files, you would just set the applicable build and start scripts in the given service setting
Aah understood. Thats what I'm doing now. But would really love if there is a way to write as code.
a year ago
you definitely could define them in separate nixpacks.toml or railway.json files, but you would then need to configure your railway services to use those config files, so in the end you still configure something in the service settings
a year ago
but if you would rather do it that way, id be happy to help
How do I setup 2 railway.toml file?
A followup question, which one is better? nixpack /railway. I'm thinking in terms of speed of build
a year ago
i would personally go with a railway.json files instead of railway.toml or nixpacks.toml since the railway.json file has built in schema validation with your code editor
a year ago
you would have two files like nest_railway.json
and remix_railway.json
and then in the applicable service you would set the correct file in the service settings under the config-as-code section
Also Can I get your recomendation on build speed? Docker, nixpack, something else?
a year ago
if it was me, i would go with a Dockerfile and pair it with railway's beta v2 builder
a year ago
but if you arent having any issues with nixpacks yet there isnt a good need to switch
a year ago
what are your current build times like for either app?
Somewhere around 15 mins for this project 6d0f799e-be59-4388-899d-f00456f30667
a year ago
gives you far greater control over every step of the build
a year ago
thats fair but im more so meaning you could likely hand craft a Dockerfile thats going to be leaner than the Dockerfile nixpacks makes, you could also most definably end up with a smaller container image
a year ago
what part of your builds take the longest? build or publish?
a year ago
would you happen to know what stage of the build takes the longest? there should be timestamps printed throughout the logs
I'm not sure, going back and looking the recent builds seems faster. I do remember I had to wait around 15 mins
a year ago
i dont know much about your project but 15 minutes is a very long time
a year ago
though you also could have been caught up in a builder incident
Hi @Brody When we run build using docker files when do we run the migrate command?
a year ago
when do you run it with nixpacks?
a year ago
perfect, do the same
Here my start command is the docker file itself
Start the server using the production build
CMD ["pnpm", "run", "--filter=remix-app", "start"]
What do I do. I'm using docker file to build. The docker image has pnpm but I think railway does not use that