#Application failed to respond
52 messages · Page 1 of 1 (latest)
New reply sent from Help Station thread:
can you share the error?
You're seeing this because this thread has been automatically linked to the Help Station thread.
New reply sent from Help Station thread:
Can you get the deploy logs?
You're seeing this because this thread has been automatically linked to the Help Station thread.
New reply sent from Help Station thread:
On that same page, click "view logs" it will open a tab with "details", "build logs", "deploy logs" and "https logs", can you show me all of those?
You're seeing this because this thread has been automatically linked to the Help Station thread.
These are the deploy logs, i'm not mentioning localhost anywhere in the dockerfile:
FROM node:18
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
RUN npm install -g serve
COPY . .
ENV NODE_ENV=production
EXPOSE ${PORT:-5173}
CMD if [ "$NODE_ENV" = "development" ]; then
npm run dev -- --host 0.0.0.0 --port ${PORT:-5173};
else
npm run build && serve -s dist -l ${PORT:-5173} -L;
fi
Also I just migrated from Vercel and it used to work on there, so unsure what causes the issue here.
I don't think this user needs to provide their logs, all that should be needed is a read through on our docs page for this error:
https://docs.railway.com/reference/errors/application-failed-to-respond
Thanks, I'll check it out
New reply sent from Help Station thread:
On your service, under settings, on Networking can you check your using the right port?
You're seeing this because this thread has been automatically linked to the Help Station thread.
Sorry... I was just trying to understand the errors here, didnt know about that page but it might be redirect ports on networking
Yep, I had changed the port to vite's default instead of railway, thanks!
New reply sent from Help Station thread:
No problem, glad we got it sorted!
You're seeing this because this thread has been automatically linked to the Help Station thread.
Please don't run a development server, that's going to be costly and unstable.
It's for production dw
If you have Vite handling the traffic, it is not for production.
I use vite in development but I'm using this line to call the backend in prod now: const domain = import.meta.env.PROD
? "http://backend.railway.internal:8080"
: "http://localhost:5000";
Is that fine or am I still doing something wrong?
If you are using vite anywhere but locally, something is being done wrong.
The community can help you here, but it might be as simple as switching to Railpack.
Brody isn't talking about how you call your backend, he's talking about how you are serving your frontend.
If you are serving it with vite (while in production), then you are running a development server which isn't optimal and should be used only on development.
You need to build your frontend for that, so it produces an application bundle ready to be served in prod.
You can check docs about it here: https://vite.dev/guide/build
And as Brody said, you can try using Railpack (Railways own builder) for that
https://railpack.com/languages/node/#static-sites
^ docs on it
As a starting point, you can try removing the Dockerfile, that way Railpack will be used to build your frontend.
Is there a way to just disable docker in prod but keep it in dev?
ah nvm I can just gitignore the dockerfile
Vite should be only used locally according to your setup
I see, but I don't know what to change for that, new to docker and vite, right now I've gitignored the dockerfiles
This is my vite config
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path'
export default defineConfig({
plugins: [
vue(),
],
server: {
proxy: {
'/api': {
target: 'http://localhost:5000', // Backend server URL
changeOrigin: true, // Needed for virtual hosted sites
rewrite: (path) => path.replace(/^/api/, ''), // Rewrites the path to remove '/api'
},
},
host: '0.0.0.0', // Docker access
port: 5173,
watch: {
usePolling: true,
},
optimizeDeps: {
include: ['lucide-vue-next', 'firebase/auth', 'firebaseui'],
},
},
});
Let's start by removing the Dockerfile and seeing if Railpack successfully builds it
Okay, will test that
frontend deployed using railpack, backend tried to deploy but crashed:
Okay, anything else I need to change?
Did it deploy fine? is everything working as it should?
Cool! now we can talk about your backend, how are you deploying it? Mind sharing the Dockerfile?
Sure
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
ENV NODE_ENV=production
ENV PORT=8080
EXPOSE 8080
CMD if [ "$NODE_ENV" = "development" ]; then
npm install -g nodemon && nodemon server.js;
else
node server.js;
fi
You are running nodemon, which is also only used for development purposes
yeah but thats if the env mode is development, which should be prod on railway
oh ok.
not sure if this works for railway tho, but I believe it did on vercel
does it show any nodemon related log in the logs?
Something like [nodemon] starting sucrase-node index.js or any other log that mentions nodemon at all? otherwise seems like you're prod ready!
Then ur good to go 
!s