mirror of
https://github.com/noodlapp/noodl-docs.git
synced 2026-01-12 07:12:53 +01:00
Co-Authored-By: kotte <14197736+mrtamagotchi@users.noreply.github.com> Co-Authored-By: mikaeltellhed <2311083+mikaeltellhed@users.noreply.github.com> Co-Authored-By: Tore Knudsen <18231882+torekndsn@users.noreply.github.com> Co-Authored-By: Michael Cartner <32543275+michaelcartner@users.noreply.github.com>
88 lines
4.3 KiB
Markdown
88 lines
4.3 KiB
Markdown
---
|
||
title: Setting up a backend on Amazon Web Services
|
||
hide_title: true
|
||
---
|
||
|
||
# Setting up a backend on Amazon Web Services
|
||
|
||
This guide will cover how to start up a Noodl backend on AWS using the Noodl backend docker image. You will need an AWS account setup. The service you will be using is called **App Runner**. Start by going to the console for that service.
|
||
|
||
<div className="ndl-image-with-background xl">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
There you can create a new service.
|
||
|
||
<div className="ndl-image-with-background m">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
When setting up the new service you need to specify that the image is to be fetched from the container registry.
|
||
|
||
<div className="ndl-image-with-background xl">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
The image URL to use is:
|
||
|
||
```bash
|
||
public.ecr.aws/noodl/noodl-self-hosted-cloud-services:latest
|
||
```
|
||
|
||
You can choose if you want to manually control when you redeploy and instance. This is needed if the Noodl backend image is updated and you want to apply the updates to your service. You can also choose to automatically track changes. When you are done click **Next**.
|
||
|
||
On the next screen you provide a **name** for your service and you can change settings for service. For the most part you can keep the standard settings but a few needs to be changed.
|
||
|
||
* **Port** The port of the application needs to be set to **3000**
|
||
|
||
You also need to provide a few environment variables to the instance. You do this using the **Add environment variable** button.
|
||
|
||
<div className="ndl-image-with-background xl">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
The following variables are needed:
|
||
|
||
* **APP_ID** You can choose this yourself, you need to provide it in the Noodl editor when connecting to your backend.
|
||
* **MASTER_KEY** This you be a password that you need to keep safe. With this password you get full access to your backend, this is also needed to connect to your backend from Noodl.
|
||
* **DATABASE_URI** This is the database url that you got when setting up the MongoDB database in the previous step. This can also be a Postgres url.
|
||
|
||
* **PUBLIC_SERVER_URL** (Optional) This is needed if you want to support file uploads and downloads, in that case you might need to go back here and update this environment variable after you have received the URL in the next step. This variable should be the public url where your clour services can be reached, starting with `https://`.
|
||
|
||
With that in place you can move on to reviewing your settings and deploying your service. It might take a few minutes to completely setup you new service.
|
||
|
||
Once the service is up and running the last step is to find the URL of the service. You can find it by navigating to the service details page. It will look something like this:
|
||
|
||
<div className="ndl-image-with-background l">
|
||
|
||

|
||
|
||
</div>
|
||
|
||
|
||
With that URL, master key and app id in hand, [go back](/docs/guides/deploy/using-an-external-backend#connect-your-application-to-the-self-hosted-backend) to the self hosting guide.
|
||
|
||
# File storage
|
||
|
||
If you want to support file upload and download, you need to specify the **PUBLIC_SERVER_URL** environment variable as noted above. By default the files will be stored in the database of your application, but if you instead want to use an S3 bucket for storage you need to create a bucket, and policy, you can find instructions on that [here](http://docs.parseplatform.org/parse-server/guide/#configuring-s3adapter). Then specify these additional environment variables:
|
||
|
||
* **S3_ACCESS_KEY** The AWS access key for a user that has the required permissions. Required.
|
||
* **S3_SECRET_KEY** The AWS secret key for the user. Required.
|
||
* **S3_BUCKET** The name of your S3 bucket. Needs to be globally unique in all of S3. Required.
|
||
* **S3_REGION** (Optional) The AWS region to connect to. Default: ‘us-east-1’
|
||
* **S3_BUCKET_PREFIX** (Optional)Create all the files with the specified prefix added to the filename. Can be used to put all the files for an app in a folder with ‘folder/’.
|
||
* **S3_DIRECT_ACCESS** (Optional)Whether reads are going directly to S3 or proxied through your Parse Server. If set to true, files will be made publicly accessible, and reads will not be proxied. Default: false
|
||
|
||
|
||
|
||
|
||
|