Closed Daniel-CS-Team closed 1 year ago
Which links are not constructed properly, these ones?
window.env = {
githubSignInLink: 'https://github.com/login/oauth/authorize?scope=user:email&client_id=${process.env['GITHUB_OAUTH_ID']}',
googleSignInLink: 'https://accounts.google.com/o/oauth2/v2/auth?scope=profile%20email&redirect_uri=${escape(process.env['GOOGLE_OAUTH_CALLBACK'])}&response_type=code&client_id=${process.env['GOOGLE_OAUTH_ID']}',
contactEmail: 'contact@memcode.com'
};
Could you try to console.log(process.env)
before and after this line https://github.com/lakesare/memcode/blob/master/backend/index.js#L8 to make sure GITHUB_OAUTH_ID
is getting inserted?
Yes exactly. console.log(process.env) shows the correct GITHUB_OAUTH_ID.
But it also shows, that env.js overwrites other environment variables set through docker. I will have to fix that, but I think this is independent of the problem here.
Have you tried leaving the env.js
empty and just setting all environment variables via Docker?
Have you tried leaving the
env.js
empty and just setting all environment variables via Docker?
Yes, that resolves the issue of environment variables getting overwritten.
(For those interseted: replace COPY env.js ./env.js
with RUN touch env.js
in above Dockerfile)
But it does not resolve the issue of the Github-SignIn Link missing the client_id part. The same holds true for the Google SignIn Link. I am no web developer, but I saw in the code, that this part of the link is generated from some template. Maybe at the runtime of this themplate is missing the env-variable?
I am no web developer, but I saw in the code, that this part of the link is generated from some template.
Not really, this is a simple Js string (equivalent to "hello everyone " + process.env['GITHUB_OAUTH_ID']
).
So, if you can console.log(process.env['GITHUB_OAUTH_ID'])
from /backend/*
files, it should certainly work.
I try to run memcode as a self-hosted production instance using Docker. I managed to create a somewaht working dockerfile, but I do not get the github oauth to work. Issue is, that the links to github are not constructed properly so that the client_id is not inserted. I added the GITHUB_OAUTH_ID to env.js for the docker build (which is very ugly, as it really should be a runtime environemnt variable). But this does not seem to have any effect.
Dockerfile: