diff --git a/docs/3.0.0-beta.x/deployment/amazon-aws.md b/docs/3.0.0-beta.x/deployment/amazon-aws.md index 57e2f4dcae..b2b9a4c97e 100644 --- a/docs/3.0.0-beta.x/deployment/amazon-aws.md +++ b/docs/3.0.0-beta.x/deployment/amazon-aws.md @@ -1,6 +1,8 @@ # Amazon AWS -This is a step-by-step guide for deploying a Strapi project to [Amazon AWS EC2](https://aws.amazon.com/ec2/). This guide will connect to an [Amazon AWS RDS](https://aws.amazon.com/rds/) for managing and hosting the database. Optionally, this guide will show you how to connect host and serve images on [Amazon AWS S3](https://aws.amazon.com/s3/). Prior to starting this guide, you should have created a [Strapi project](../getting-started/quick-start.md), to use for deploying on AWS. +This is a step-by-step guide for deploying a Strapi project to [Amazon AWS EC2](https://aws.amazon.com/ec2/). This guide will connect to an [Amazon AWS RDS](https://aws.amazon.com/rds/) for managing and hosting the database. Optionally, this guide will show you how to connect host and serve images on [Amazon AWS S3](https://aws.amazon.com/s3/). + +Prior to starting this guide, you should have created a [Strapi project](../getting-started/quick-start.md), to use for deploying on AWS. And have read through the [configuration](../installation/deployment.md#configuration) section. ### Amazon AWS Install Requirement and creating an IAM non-root user @@ -102,7 +104,7 @@ Your instance is now running. Continue to the next steps. ### Install a PostgreSQL database on AWS RDS -Amazon calls their database hosting services **RDS**. Multiple database options exist and are available. In this guide, **PostgreSQL** is used as the example, and the steps are similar for each of the other database that are supported by Strapi. (**MySQL**, **MondoDB**, **PostgreSQL**, **MariaDB**, **SQLite**). You will set-up an **RDS instance** to host your `postgresql` database. +Amazon calls their database hosting services **RDS**. Multiple database options exist and are available. In this guide, **PostgreSQL** is used as the example, and the steps are similar for each of the other database that are supported by Strapi. (**MySQL**, **MongoDB**, **PostgreSQL**, **MariaDB**, **SQLite**). You will set-up an **RDS instance** to host your `postgresql` database. ::: tip **Amazon RDS** does **NOT** have a completely free evaluation tier. After finishing this guide, if you are only testing, please remember to [delete the database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). Otherwise, you will incur charges. @@ -205,7 +207,7 @@ ubuntu@ip-12.123.123.11:~$ #### 3. Install **Node.js** with **npm**: -Strapi currently supports `Node.js v10.x.x`. The following steps will install Node.js onto your EC2 server. +Strapi currently supports `Node.js v12.x.x`. The following steps will install Node.js onto your EC2 server. ```bash cd ~ @@ -216,7 +218,7 @@ sudo apt-get install nodejs node -v && npm -v ``` -The last command `node -v && npm -v` should output two versions numbers, eg. `v10.x.x, 6.x.x`. +The last command `node -v && npm -v` should output two versions numbers, eg. `v12.x.x, 6.x.x`. #### 4. Create and change npm's default directory. diff --git a/docs/3.0.0-beta.x/deployment/proxy.md b/docs/3.0.0-beta.x/deployment/proxy.md new file mode 100644 index 0000000000..d5a564ec5f --- /dev/null +++ b/docs/3.0.0-beta.x/deployment/proxy.md @@ -0,0 +1,13 @@ +# Proxying + +As Strapi does not handle SSL directly and hosting a Node.js service on the "edge" network is not a secure solution it is recommended that you use some sort of proxy application such as Nginx, Apache, HAProxy, Traefik, or others. Below you will find some sample configurations for a few of these, naturally these configs may not suit all environments and you will likely need to adjust them to fit your needs. + +All of these configurations will proxy to a **subdomain** `IE: api.example.com` which is the only currently supported format, **sub-folder** `IE: example.com/api` based proxying is not currently supported and will likely break access to the admin panel. + +## Nginx + +The below configuration is based on Nginx virtual hosts, this means that you create configurations for each **domain** to allow serving multiple domains on the same port such as 80 (HTTP) or 443 (HTTPS). It also uses a central upstream file to store an alias to allow for easier management, load balancing, and failover in the case of clustering multiple Strapi deployments. + +### Upstream + +Upstream blocks are used to map an alias such as `strapi` to a specific URL such as `localhost:1337`. While it would be useful to define these in each virtual host file, Nginx currently doesn't support loading these within the virtual host **if you have multiple virtual host files** and instead you should configure these within the `conf.d` directory as this is loaded before any virtual host files. diff --git a/docs/3.0.0-beta.x/getting-started/deployment.md b/docs/3.0.0-beta.x/getting-started/deployment.md index 61f7d46765..7dcb6b5599 100644 --- a/docs/3.0.0-beta.x/getting-started/deployment.md +++ b/docs/3.0.0-beta.x/getting-started/deployment.md @@ -6,7 +6,7 @@ Strapi gives you many possible deployment options for your project or applicatio Deploying **databases** along with Strapi is covered in the [Databases Guide](../guides/databases.md). ::: -## Documented Options +### Documented Options Manual guides guides for deployment on various platforms, for One-click and docker please see the [installation](./installation) guides. @@ -55,7 +55,7 @@ Manual guides guides for deployment on various platforms, for One-click and dock -## Configuration +### Configuration #### 1. Configure