AWS Lambda serverless blogging platform
I no longer actively develop this project. It was made in a way that it is quite easy to install and run, but not that easy to modify the code and expand on it.
If you are looking for a more developer friendly framework to make serverless web pages on AWS, please look at my other project: https://awly.io
AWS Lambda Blog Platform is a complete blogging solution that uses the following Amazon Web Services for operation:
It runs completely serverless - free of any inflexible hardware infrastructure. The whole system running as a team of small microservices means that the running expenses are without any overhead even at the smallest scale.
Make sure you can receive email at one of the following addresses for https certificate generation (if you dont have a mail server set up, you can use https://github.com/sirceljm/AWS-SES-simple-mail-forward to forward emails to your email address)
Request a new certificate in AWS ACM (https://console.aws.amazon.com/acm/home?region=us-east-1#/) (THIS HAS TO BE ISSUED IN the us-east-1 REGION!!!)
npm install
Add permissions to the user
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1481118325000",
"Effect": "Allow",
"Action": [
"iam:CreatePolicy",
"iam:CreateRole",
"iam:GetPolicy",
"iam:GetRole",
"iam:AttachUserPolicy",
"iam:AttachRolePolicy",
"iam:PassRole",
"route53:ListHostedZones",
"acm:ListCertificates",
"iam:ListUserPolicies",
"iam:GetUserPolicy"
],
"Resource": [
"*"
]
}
]
}
node install.js
npm install
install_config.js
later)Copy account keys for the user and make a json file that looks like this:
{
"accessKeyId": "AK************",
"secretAccessKey": "BX**********************",
"region": "eu-west-1"
}
[IAM -> Users -> your_user -> Permissions -> Add inline policy -> Custom policy -> Select -> Copy JSON below and enter a policy name
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1481118325000",
"Effect": "Allow",
"Action": [
"iam:CreatePolicy",
"iam:CreateRole",
"iam:GetPolicy",
"iam:GetRole",
"iam:AttachUserPolicy",
"iam:AttachRolePolicy",
"iam:PassRole",
"route53:ListHostedZones",
"acm:ListCertificates",
"iam:ListUserPolicies",
"iam:GetUserPolicy"
],
"Resource": [
"*"
]
}
]
}
-> Attach policy]
install_config.js
install/install_config_template.js
to install/install_config.js
install/install_config.js
node install_advanced.js