-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Environment variables not available in AWS ECS instance. #9049
Comments
How are you setting the environment variable? I'm not too familiar with AWS but I found https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html and https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html on a quick search - are you doing either of those to set the value? |
Thanks for the reply @brophdawg11 ! I am setting the env vars in the task definition like it shows in the first link. The strangest thing to me is that the envars are available in ssh and in context. Almost like node is "waiting" for them. I am not confident this is "Remix" problem either, but a node problem. Currently I am working on generating a .env file during the container build and referencing that, which seems to be working so far. I'll report back once I have a workaround. |
This issue has been automatically closed because we haven't received a response from the original author 🙈. This automation helps keep the issue tracker clean from issues that are unactionable. Please reach out if you have more information for us! 🙂 |
Just in case anyone stumbles on this in the future, here's my workaround. In my github action where I'm building the docker container I inline all of the build args like this: - name: Build, tag, and push image to Amazon ECR
id: build-image
run: |
# Build a docker container and
# push it to ECR so that it can
# be deployed to ECS.
docker build --progress=plain -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG \
--build-arg GOOGLE_CALLBACK_URL=${{ env.GOOGLE_CALLBACK_URL }} \
.
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
echo "imageid=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT The important bit is the
Now GOOGLE_CALLBACK_URL will be available in the app. |
Reproduction
You need AWS to reproduce. So best I can do is outline the steps.
Process.env will only ever have the default environment variables provided by node.
I was able to get around this by using a custom express server and adding process.env to the context like this:
Now if I look at context inside of a loader function the context is populated but process.env is not.
System Info
Used Package Manager
npm
Expected Behavior
process.env.VARIABLE_NAME
should be available.Actual Behavior
process.env.VARIABLE_NAME
is undefined.The text was updated successfully, but these errors were encountered: