This section guides you through setting up client configuration and building tools to deploy Orca directly onto an EC2 instance.
Managing your own EC2 instance "manually" will use certificates issued by Let's Encrypt.
Note
- Pro: No additional costs, other than the EC2 instance and data transfer.
- Con: More complex setup.
- Launch an EC2 instance configured as follows:
-
Choose an instance of type Amazon Linux 2023 AMI (e.g.:
ami-0fc3317b37c1269d3). -
Pick a preconfigured Security Group that opens
HTTP(:80/tcp),HTTPS(:443/tcp) andSSH(:22/tcp).- Also ensure that
[::]:80,[::]:443and[::]:22are open, for IPv6 support.
- Also ensure that
-
Grant it the
ec2-orca-installIAM Role that allows:Policy Service Reason AmazonEC2ReadOnlyAccessEC2 List instance tags AmazonS3ReadOnlyAccessS3 Get client-specific configuration AmazonEC2ContainerRegistryReadOnlyECR Access Orca's docker container
-
Create the DNS record for
<client-id>.orca-solution.compointing to the right instance (use an Elastic IP). -
Set the expected environment variables:
- Edit the configuration template
- Upload it as
<client-id>.confin theorca-clientsS3 bucket (arn:aws:s3:::orca-clients).
-
Connect onto the machine and install the latest release via the setup script on
masterbranch:ssh -i /path/to/key.pem ec2-user@<client-id>.orca-solution.com bash <(curl -s https://raw.githubusercontent.com/ccjmne/orca-deploy/master/ec2/utils/deploy.sh)
Tip
Ensure the DNS records have properly propagated before proceeding to step 4.
Use the update.sh script installed during the deployment in your home directory (/home/ec2-user) as follows:
./update.sh <version>Where <version> corresponds to a tag for our web app's Docker container and defaults to latest.
Create a new release on GitHub and upload the setup.tar.gz archive as an asset, generated as follows:
tar --directory setup -czvf setup.tar.gz .