A containerized verdaccio private npm registry configured with github oauth and AWS S3 storage.
You can deploy to heroku with one click
Once the app has been deployed, you will need to setup a github oauth app and add the necessary oauth credentials as heroku config vars.
Follow these instructions when creating the oauth app.
Add the following config vars to the heroku app. Either do this from the heroku dashboard or with the cli.
GITHUB_OAUTH_ORG
GITHUB_OAUTH_CLIENT_ID
GITHUB_OAUTH_CLIENT_SECRET
You should now be able to visit the heroku app and login with your github account by clicking the login button and going through the oauth flow.
AWS configuration steps:
- create private S3 bucket
- create policy through IAM dashboard to allow access to the bucket. Example:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowObjectManagement",
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::BUCKET_NAME", "arn:aws:s3:::BUCKET_NAME/*"]
}
]
}
- (optional) create user and write down the credentials
- attach policy to the desired user. Alternativelly, you can attach the policy and user to a group
Once you have the user credentials, add the following config vars to the heroku app. Either do this from the heroku dashboard or with the cli.
S3_BUCKET
S3_REGION
S3_ACCESS_KEY_ID
S3_SECRET_ACCESS_KEY