Monorepo Deploy

Does anyone have experience with monorepo deploy?

I have nest.js back that deploys fine, and vite react that I need proxy for, so I am trying out caddy and the config I found on the official file. But something is not working as intended since caddy is not serving front. How can I add command to just serve the front, and leave backend to work as is?

Solved

31 Replies

8f9a18e5-76b5-4894-a3fc-54f4ddfe030b


a year ago

please share your repo



a year ago

shared monorepo?


what do you mean?


a year ago

is this a shared monorepo?


oh, yes it is shared monorepo


a year ago

does the frontend actually use exports from other packages in the repo?


yes, it uses types defined in the backend


a year ago

then you would not want to set a root directory


yeah, I do not use root directory, I am defining custom build commands. My idea was to somehow install caddy without disturbing backend, and then just serve frontend via caddy, backend is fine as it is


a year ago

yes you do

1311793391993885000


yeah, that was a failed experiment 😄


I tried that, since other approach did not work


a year ago

right so please remove 🙂


removed


a year ago

you also don't wan't to use cd in build or start commands, if you end up using cd in such a senario, it is likely the incorrect solution


I will write scripts in root package.json to handle this


a year ago

looks like you already have the script needed to build the frontend build:fe


created scripts to build from root folder


now all 3 services are running from root without cd


a year ago

awsome, now you have to point nixpacks to the config file using a NIXPACKS_CONFIG_FILE service variable, and have a start script to start caddy


this would help me run custom nixpack for frontend only?


a year ago

yes


aight, let me try it


cmds = [
'caddy fmt --overwrite ./Caddyfile',
] # format the Caddyfile to fix any formatting inconsistencies

this step fails, even though nixpack is in the same folder. I have tried writing just caddyfile. Should I put full path from root, something like apps/frontend/Caddyfile?


a year ago

yeah you will need the full path


worked so far, I now get

1311801243168936000


but I assume I can figure it out from here, thanks!


a year ago

awesome!


a year ago

!s


Status changed to Solved brody over 1 year ago


Loading...