-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
94 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
name: alhazenlabs-ec2-deployment | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
|
||
jobs: | ||
start: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: AWS SSM Send-Command | ||
uses: peterkimzz/aws-ssm-send-command@master | ||
id: ssm | ||
with: | ||
aws-region: ${{ secrets.AWS_REGION }} | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
instance-ids: ${{ secrets.INSTANCE_ID }} | ||
|
||
working-directory: /home/ubuntu/deployment | ||
command: /bin/sh ./deploy.sh | ||
|
||
# Catch SSM outputs | ||
# - name: Get the outputs | ||
# run: echo "The Command id is ${{ steps.ssm.outputs.command-id }}" | ||
|
||
## Setting up your Domain | ||
|
||
# So far, users can access the site using the Elastic IP. However, it can be difficult to remember and share so we will configure a custom domain name. | ||
|
||
# To get started, you need to first purchase a domain. This can range from $10 to $1,000+s. Amazon has a service called Route53 you can use or you can choose other providers such as [Google Domains](https://domains.google/), [GoDaddy](https://www.godaddy.com/), etc. (we used Google for AlgoAcademy which was $10/year). | ||
|
||
# There are two steps you would need to configure to connect the project with a custom domain: | ||
|
||
# - Create domain records with DNS registrar | ||
# - Configure NGINX on the EC2 instance to recognize the domain | ||
|
||
# --- | ||
|
||
# ### _Creating Domain records_ | ||
|
||
# Let's start with configuring our DNS with records: | ||
|
||
# - Go to the **DNS** portion of your registrar. | ||
# - Find where you can create custom resource records. | ||
|
||
# Set the records like so: | ||
|
||
# | Name | Type | TTL | Data | | ||
# | ---- | :---: | :-: | ----------------------: | | ||
# | @ | A | 1h | YOUR-ELASTIC-IP-ADDRESS | | ||
# | www | CNAME | 1h | your-awesome-site.com | | ||
|
||
# ### _Configuring our Web Server_ | ||
|
||
# Edit the NGINX config file inside your EC2 instance: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM python:3.8.16-slim-bullseye | ||
|
||
ENV API_USER=test API_PASSWORD=test ECWID_PRIVATE_TOKEN=test \ | ||
STORE_ID=123 PICKUP_LOCATION_ID=12324 ID_FIRST_VALUE=1 \ | ||
[email protected] SENDER_PASSWORD=test | ||
|
||
COPY requirements.txt requirements.txt | ||
RUN pip install -r requirements.txt --no-cache-dir | ||
|
||
COPY . . | ||
EXPOSE 8081 | ||
ENTRYPOINT [ "python", "app.py" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
DOCKER_APT_PACKAGE="docker.io" | ||
IMAGE_NAME="docker.io/alhazenlabs/deployment:v1" | ||
CONTAINER_NAME="alhazenlabs-deployment" | ||
PORT="8081" | ||
|
||
if [ $(dpkg-query -W -f='${Status}' $DOCKER_APT_PACKAGE 2>/dev/null | grep -c "ok installed") -eq 0 ]; | ||
then | ||
echo "Installation of docker wasn't found installing docker..." | ||
sudo apt-get update | ||
sudo apt install $DOCKER_APT_PACKAGE | ||
sudo groupadd docker | ||
sudo usermod -aG docker $USER | ||
else | ||
echo "Installation of docker found skipping installation" | ||
fi | ||
|
||
echo "stopping the existing container: $CONTAINER_NAME" | ||
docker stop $CONTAINER_NAME | ||
echo "starting a new container: $CONTAINER_NAME" | ||
docker run --name $CONTAINER_NAME -p 80:8081 -p 443:8081 -d $IMAGE_NAME |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
# Python 3.8.10 | ||
|
||
APScheduler==3.0.0 | ||
asgiref==3.7.2 | ||
attrs==23.1.0 | ||
|