Create an IAM User with these permissions
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lightsail:CreateContainerServiceRegistryLogin",
"lightsail:GetContainerImages"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"lightsail:RegisterContainerImage",
"lightsail:CreateContainerServiceDeployment"
],
"Resource": "arn:aws:lightsail:*:527559383819:ContainerService/*"
}
]
}
Create a container service and database
aws lightsail create-container-service \
--service-name demo-service \
--power nano \
--scale 1
aws lightsail create-relational-database\
--relational-database-name demo-db \
--relational-database-blueprint-id postgres_12 \
--relational-database-bundle-id micro_2_0 \
--master-database-name demo_db \
--master-username demo_user \
--master-user-password demo_password
Create secrets for use by the github workflow
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- DB_HOST
- DB_PASSWORD
- DB_USERNAME
docker build -t web -f src/Web/Dockerfile .
docker build -t service -f src/Service/Dockerfile .
aws lightsail push-container-image --service-name demo-service --label web --image web:latest
aws lightsail push-container-image --service-name demo-service --label service --image service:latest