This webapp can easily be deployed using docker. For instance:
docker run \
-p 8080:8080 \
-e GITHUB_CLIENT_ID=${APP_CLIENT_ID} \
-e GITHUB_CLIENT_SECRET=${APP_CLIENT_SECRET} \
-e GITHUB_TARGET_REPO=${GITHUB_ISSUES_REPO} \
josepot/tm-issues-deploy
Where GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
are the values of the
github OAuth application.
When you create an application is very important to keep in mind that the
clientId
and the clientSecret
values are only useful for the
given "authorization callback url" that you provided.
What this means is that once the github user has authorized your app, github will redirect the user to the "authorization callback url" that you provied. Which means that you will have to create a different github app per each one of the environments where you are deploying it.
For instance, lets say that you want to deploy this app under the following url:
"https://issues.staging.textmaster.com". When creating the github app for that environment,
that's the url that should be provided for the "authorization callback url",
therefore when you deploy it you will have to provide the
clientId
and the clientSecret
that's linked to that url
through the ENV variables: GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
.
This ENV variable has to do with the github repo where the issues will be posted to. For instance: if we want the app to post the issues to "https://github.com/txtm/issue", then the value of GITHUB_TARGET_REPO
would be "txtm/issue".