Good day everyone.
My issue is the following. We use a NextJS app with SSR as the Frontend for our services. We want to deploy everything on AWS App Runner via docker images. Locally the frontend container registers all env variables we have in .env.local but on App Runner all env variables turn out undefined
Of course, we don't want to use an .env file for production. We set up all env variables in the config service of App Runner and we use the NEXT_PUBLIC prefix as we should with SSR. But still nothing.
Does anyone have any suggestions on how to proceed from here?
Related
We build a NextJS application using Github actions and ship it to an EC2 machine. There it's run by PM2 using an ecosystem.config.js file. PM2 supports passing env variables, but it doesn't work using basic setup because of the way NextJS handles them - substituting them by actual values during the build.
Is there a way to provide them when an application runs instead of when it's being built?
I am deploying a NextJS SSR app in Amplify.
I am also running linters and tests in a Gitlab (cloud) Pipeline.
My workflow should be this:
Push changes into a branch.
Run the Gitlab Pipeline.
Deploy the new code (if the pipeline succeeds).
What I need is a mechanism to trigger the deployment inside the Gitlab Pipeline.
However, the documentation of Amplify says this:
Amplify Hosting does not support manual deploys for server-side rendered (SSR) apps.
That means the deployment is triggered by a push into a branch. Do you know any solution to trigger the deployment after the Gitlab Pipeline succeeded?
I am developing a project with Firebase backend, utilising Firebase Functions. I actually two projects: myProject and myProject-test (used for deployment testing).
When submitting API calls, my (React) front-end is configured to call the myProject-test URL when running in local development, and only direct the calls to myProject when deployed on PROD.
The problem I am facing is that when I start my cloud functions emulator using firebase emulators:start, my cloud functions get started on the localhost:5001/myProject/... url instead of localhost:5001/myProject-test/..., and hence the API calls from my local development instance never arrive.
How can I control for which project the emulators start?
This is what the firebase use command is for. Read the documentation on managing aliases. You can run the command firebase use PROJECT_ID|ALIAS to set the current project or alias that is currently use use for the emulator or other commands.
I have an application laravel as backend and vuejs as frontend separately. The problem is I don't know how to deploy this app to the server separately using apache server. I need help please provide me a detail instructions on how to do it. I have successfully deploy the laravel application api but I'm having trouble with the vuejs frontend also I'm using one ip address for this two application.
Thanks for your help.
Donnie.
It is very simple to deploy Vue SPA on the apache server.
Run this command in your project for production build
npm run prod
OR
yarn build
This command will create a dist folder in your Vue project.
project/dist/spa
spa folder contains index.html and other files (images,css and compiled js filed)
Give path of this index.html in your apache environment.
/etc/apache2/sites-available/your_project.conf
In ubuntu look like this.
eg /var/www/dist/spa
In ubuntu how we make the symbolic link
ln -s /your_project/dist /var/www/dist
I have express, react based existing project that I managed to port to Firebase hosting with cloud functions successfully..at least on the dev server.
It looks like this..
This is running on http://localhost:5000/ with command
firebase serve --only functions,hosting
Now, when I deploy this, it looks like
This is NOT a static site. Following the firebase vid here
https://www.youtube.com/watch?v=LOeioOKUKI8
So I have express server running with
app.use('/static',express.static('../public'));
I had to do this because otherwise, firebase hosting treats each path as public path and it messes up scripts sourcing from public folder and also my react router in react app.
While this works on local server run by firebae, it throws 404 on prod.
Failed to load resource: the server responded with a status of 404 ()
The point is I got all this working on local machine but the deployment just won't oblige.
The deployment was not smooth.
firebase deploy
didn't work.
firebase --only hosting
worked.
firebase --only functions
did not work for quite sometime.
It kept throwing
Error setting up the execution environment for your function. Please try again after a few minutes.
a few times before it finally worked. And I didn't change anything to make it work. Just did it by itself.
Is there something I am missing? I am very new to firebase hosting.
I already have a production site running somewhere and I wish to port it to firebase. But I can not have random 'try again after a few minutes problems'.
But first things first, why are my static files not rendering on prod when they do on dev?
Thanks
Your public directory will need to be nested beneath your functions folder, as only files within the functions folder are deployed to Cloud Functions and available from Node.js.
The local emulator is not actively guarding against this kind of tree navigation, which is why it works locally.
In general, though, you'll likely want to restructure your app a bit so that your static assets are deployed to Firebase Hosting directly rather than being served by Express.