Deploy your Webflow static website on AWS
Project description
webflow-aws
Python code to deploy your Webflow static website in AWS using Cloud Formation.
:point_up: | In this version, everything needs to be hosted in AWS, also your domain. |
---|
Setup
Prerequisites
In order to use this tool, you need to have:
- Access to an Active AWS account with all required permissions
- NodeJS 10.3.0 or later installed (instructions).
- Python 3.6 or later with pip3 installed (instructions)
- AWS CLI installed and configured (instructions).
Finally, install the AWS CDK command line tool with the following command
npm install -g aws-cdk
Clone repo & build your package
To use our tool, you have to clone this repository and install:
- Clone using HTTPs:
git clone https://github.com/CreateInCloud/webflow-aws.git
- Clone using SSH:
git clone git@github.com:CreateInCloud/webflow-aws.git
After you cloned the repository, go inside the webflow-aws folder and generate the .whl package to be installed.
cd webflow-aws
python3 setup.py sdist bdist_wheel
Install the package
The build file (generate above) will be visible in the dist/
folder. You will have a wheel
and tar.gz
file.
Without renaming them, you can install our tool on any computer with the following command
pip3 install dist/webflow_aws-0.0.1-py3-none-any.whl
At this point, on your target machine, you will be able to use the tool by typing webflow-aws
from any folder. To see
the available commands, and check if it's correctly installed, run the following command
webflow-aws --help
Deploy your website
Finally, you are ready to go to Webflow and download your .zip
file
(click here to see the guide on how to download it).
Once you downloaded it, create a folder and put the .zip
file inside. The folder's name doesn't matter.
Create webflow-aws-config.yaml file
The webflow-aws-config.yaml file allows you to customize the website you want to publish online. This is an example file you can customize:
# these are the required parameters
bucket_name: "www.example.com"
domain_name: "www.example.com"
CNAMEs:
- "example.com"
- "www.example.com"
route_53_hosted_zone_id: "Z05234556KK8DIAQM"
route_53_hosted_zone_name: "example.com"
stack_name: "WwwExampleComStack"
# these are the optional parameters
aws_profile_name: "default"
support_bucket_name: "webflow-aws-support"
support_stack_name: "WebflowAWSSupport"
- bucket_name: the AWS S3 bucket name you want to create. In most of the cases, it's equal to the domain name.
- domain_name: the domain name you want to use to expose your website.
- CNAMEs: the list of alternative domain names you want to redirect to the domain name.
- route_53_hosted_zone_id: the AWS Route53 hosted zone created. This is the
guide you can follow to create a
new Route53 hosted zone and get his
id
. - route_53_hosted_zone_name: the AWS Route53 hosted zone domain name.
- stack_name: the name of the stack which all the resources will be grouped in. In most of the cases, it's the
domain name without dots
.
Optional Parameters
- aws_profile_name: (optional) the AWS profile name configured in AWS CLI. If you didn't specify it,
the profile name is
default
- support_bucket_name: (optional) the AWS S3 bucket name created as support resource.
- support_stack_name: (optional) the AWS CloudFormation Stack name which all the resources will be grouped in.
Place this file inside the websites/
folder previously created. The content of that folder should be
|—— websites
| |—— weblfow-files.zip
| |—— configuration.yaml
Publish your website
Now you are ready to publish your website online.
Go inside the folder created before that contains:
webflow-aws-config.yaml
file.zip
file
If it's the first time you are deploying it online, you have to call this command before:
webflow-aws setup
This command will create the Cloud Formation stack containing the support resources.
After this command, you can execute:
webflow-aws publish
In 2 minutes, the content will be public available under the specified domain names.
Next releases
We are planning to release this tool under Pypi so the user will be able to install it running the command:
pip3 install webflow-aws
We are also planning to create the webflow-aws create-config
command to guide the user through the creation of the configuration
file setting all the customizable parameters without having him to create his own file.
The other release planned is the improvement of the webflow-aws setup
command: we will integrate the cdk deploy
command inside it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for webflow_aws-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81f93006224209aa7f1624fa5c74fe1deb6e87e7792d878ba9e844d4c65c4cb7 |
|
MD5 | 41df83a8e5dfa7367780076e16f5f07d |
|
BLAKE2b-256 | 186b90efd846d6ab5497f5a0e390d721597678c4791a605d5cd7c7200744999c |