2 years ago
How will I do this?
49 Replies
2 years ago
is this a shared or isolated monorepo?
2 years ago
are you using something like turbo or nx?
2 years ago
pnpm workspaces?
2 years 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"2 years 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
2 years 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
2 years 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.
2 years 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
2 years 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
2 years 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
2 years 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?
2 years ago
if it was me, i would go with a Dockerfile and pair it with railway's beta v2 builder
2 years ago
but if you arent having any issues with nixpacks yet there isnt a good need to switch
2 years ago
what are your current build times like for either app?
Somewhere around 15 mins for this project 6d0f799e-be59-4388-899d-f00456f30667
2 years ago
gives you far greater control over every step of the build
2 years 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
2 years ago
what part of your builds take the longest? build or publish?
Oh Yeah that makes sense. If I remember correctly the build takes more time
2 years 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
2 years ago
i dont know much about your project but 15 minutes is a very long time
2 years 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?
2 years ago
when do you run it with nixpacks?
2 years 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
