Open source & self hostable alternative to Dockerhub Automated Builds. Svennex aims to support all major code repositories(Github, Gitlab etc) and all major docker registries(DockerHub, AWS ECR, GCR, Gitlab Registry etc).
Note: Svennex is still in alpha stage of development. There might be breaking changes in the future.
intro.mp4
You will need the following components ready before deploying Svennex.
- Github OAuth Application: A Github OAuth Application that will allow Svennex to access Github Repositories. Follow instructions here to create one and copy the Client ID & Client Secret. Provide
https://<FQDN>/oauth/github/callback
as the callback url where FQDN is the domain name where you will access Svennex. - Gitlab OAuth Application: A Gitlab OAuth Application that will allow Svennex to access Gitlab Repositories. Follow instructions here to create one an copy the Client ID & Client secret. Provide
https://<FQDN>/oauth/gitlab/callback
as the callback url where FQDN is the domain name where you will access Svennex. - SSH Key: Create or Import a Key Pair into the AWS account in the region where you are deploying Svennex.
- FQDN: You will need a domain name to point to Svennex once it's deployed. You can either use a subdomain or a root domain. Once you have deployed Svennex, you will have to update the DNS record to point to the EC2 Instance's IP address.
- SMTP Config: You will need a SMTP interface to send transactional emails(Sign Up confirmation, Password Reset etc). You can either use SendGrid/AWS SES for this. Copy the username, password, SMTP domain, SMTP Address & Port. Sendgrid's free tier works nicely and you can find the documenation here
Once you have these components ready, you can move on to the deployment.
One click deploy to AWS with Cloudformation.
Note: This template is built for convenience & speed rather than security. A production ready template is in the pipeline.
It deploys the following components.
- VPC
- 2 Public Subnets
- NAT Gateway
- RDS Instance
- Elasticache Redis Instance
- EC2 Instance
Region Code | Region Name | Deploy |
---|---|---|
us-east-2 | US East (Ohio) | Deploy To AWS |
us-east-1 | US East (N. Virginia) | Deploy To AWS |
us-west-1 | US West (N. California) | Deploy To AWS |
us-west-2 | US West (Oregon) | Deploy To AWS |
af-south-1 | Africa (Cape Town) | Deploy To AWS |
ap-east-1 | Asia Pacific (Hong Kong) | Deploy To AWS |
ap-south-1 | Asia Pacific (Mumbai) | Deploy To AWS |
ap-northeast-3 | Asia Pacific (Osaka) | Deploy To AWS |
ap-northeast-2 | Asia Pacific (Seoul) | Deploy To AWS |
ap-southeast-1 | Asia Pacific (Singapore) | Deploy To AWS |
ap-southeast-2 | Asia Pacific (Sydney) | Deploy To AWS |
ap-northeast-1 | Asia Pacific (Tokyo) | Deploy To AWS |
ca-central-1 | Canada (Central) | Deploy To AWS |
eu-central-1 | Europe (Frankfurt) | Deploy To AWS |
eu-west-1 | Europe (Ireland) | Deploy To AWS |
eu-west-2 | Europe (London) | Deploy To AWS |
eu-south-1 | Europe (Milan) | Deploy To AWS |
eu-west-3 | Europe (Paris) | Deploy To AWS |
eu-north-1 | Europe (Stockholm) | Deploy To AWS |
me-south-1 | Middle East (Bahrain) | Deploy To AWS |
sa-east-1 | South America (São Paulo) | Deploy To AWS |