You can easily add a NixOS configuration to your projects flake and then deploy the server with the package contained in that flake as well.
Similar to what I’m doing here but obviously your application would be more complex.
dap-sync is a little bash “application” which I deploy onto my desktop systems.
Another option would be to add your app as an input to the server’s flake but then you have to update the lock file whenever you change the app.