You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+54-16Lines changed: 54 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,16 @@
1
1
# webflow-aws
2
+
3
+
| 🛑 | If you already deployed one website using the **v1** version of the tool, follow the [Migration from v1 to v2](#migration-from-v1-to-v2) section before updating the tool version. |
An out-of-the box tool written in Python to deploy your [Webflow](https://webflow.com/) static website on AWS with a serverless architecture.
3
7
4
8
This tool uses the power of Cloud Formation to let you have your website up in minutes, with CDN and SSL Certificate enabled.
5
9
6
10
You can manage up to an infinite number of websites in the same AWS account, paying only for the real traffic. That's the beautiful part of serverless 😉
7
11
8
-
|:point_up:| In this version, everything needs to be hosted in AWS, also your domain. |
After you cloned the repository, go inside the **webflow-aws** folder and generate the **.whl** package to be installed.
@@ -86,12 +90,52 @@ the available commands, and check if it's correctly installed, run the following
86
90
webflow-aws --help
87
91
```
88
92
93
+
### Migration from v1 to v2
94
+
95
+
If you used the **v1** version of the tool and you plan to migrate to the **v2**, remember this:
96
+
97
+
| ⚠️ | Running the commands below will put your current website offline for couple of minutes. Plan to run the migration when you don't have traffic on your website. |
To migrate from **v1** to **v2**, you have to delete the current deployed website from the AWS Console.
101
+
Unfortunately is not possible to do it using our tool since there are resources that are running at edge and it takes
102
+
time to complete the deletion on AWS side.
103
+
104
+
These are the steps to delete your current website:
105
+
106
+
+ Open the configuration file you have locally (named *webflow-aws-config.yaml*), and search for the keywords
107
+
+*stack_name* and *bucket_name* and copy the values.
108
+
+ Go to AWS Console and login in the account you have deployed your website.
109
+
+ Search for the AWS service named **S3** and open it.
110
+
+ Search for the Bucket with the same name copied before and click on the circle on the left of the name.
111
+
+ Click on the **Empty** button, and now you are ready to click on **Delete** button
112
+
+ Search for the AWS service named **CloudFormation** and open it.
113
+
+ Search for the stack deployed, click on it and click on **Delete**
114
+
+ After a couple of minutes, you will see the status stack equal to *DELETE_FAILED*
115
+
+ You can now click on **Delete** again, and check the square on the left of the resource name
116
+
+ Now you can click on **Delete stack**, and you are ready to upgrade your local tool.
117
+
118
+
119
+
#### Update from v1 to v2
120
+
121
+
Run the following command to update the tool:
122
+
123
+
```bash
124
+
pip3 install --upgrade webflow-aws
125
+
```
126
+
127
+
Now you are ready to deploy your website using the new version running:
128
+
129
+
```bash
130
+
webflow-aws publish
131
+
```
132
+
89
133
## Deploy your website
90
134
91
135
You are now ready to deploy your website. Start by going to **Webflow** and download your created website as a `.zip` file
92
136
([click here](https://university.webflow.com/lesson/code-export) to see a detailed guide on how to do it).
93
137
94
-
Once you downloaded it, create a folder and put the `.zip` file inside. The folder's name doesn't matter, but make it meaningful for you. In our guide we will use the `example-website` folder
138
+
Once you downloaded it, create a folder and put the `.zip` file inside. The folder's name does not matter, but make it meaningful for you. In our guide we will use the `example-website` folder
95
139
96
140
### Set up DNS record
97
141
@@ -100,7 +144,7 @@ Once your website is deployed, you will need a DNS Record to point to the file l
100
144
* create a **hosted zone inside Route53** ([guide](https://medium.com/@dbclin/amazon-route-53-and-dns-whats-in-a-name-28fa4ac2826c)) on the AWS account you're using to deploy the website. In this scenario `webflow-aws` automatically manages the creation of all needed configuration, both for DNS Records and for SSL Certificate verification.
101
145
***[beta]** use a **custom DNS manager**, such as GoDaddy or your domain registrant. In this scenario, do not configure Route 53 properties and, once website is published, instructions with CNAMEs to set will be shown to you, so that you can manually configure them. Moreover, during first website deployment, you will need to publish a TXT record to verify your SSL Certificate.
102
146
103
-
With `webflow-aws` you can have one or more sub-domain point at your website, such as `example.com` and `www.example.com`.
147
+
With `webflow-aws` you can have one or more subdomain point at your website, such as `example.com` and `www.example.com`.
104
148
105
149
In the `webflow-aws-config.yaml` file you will need to set the list of domains you would like to have your website pointing at. For example, you can have `example.com` and `www.example.com` enabled.
106
150
@@ -167,16 +211,10 @@ Go inside the folder created before that contains:
167
211
+ `webflow-aws-config.yaml` file
168
212
+ `.zip` file
169
213
170
-
If it's the first time you are deploying it online, you have to call this command before:
171
-
```bash
172
-
webflow-aws setup
173
-
```
174
-
This command will create the Cloud Formation stack containing the support resources.
175
-
176
-
After this command, you can execute:
214
+
To deploy your website, you have to execute this command:
177
215
178
216
```bash
179
217
webflow-aws publish
180
218
```
181
219
182
-
In 2 minutes, the content will be public available under the specified **domain names**.
220
+
In 2 minutes, the content will be public available under the specified **domain names**.
0 commit comments