Before You Begin - cat-box/aws-foundry-ssl GitHub Wiki

Setup Prerequisites

You will need a few things handy to setup the AWS instance. I have additional information on some of the items below.

Webserver or No?

Admittedly, this is less of something you need to obtain, and more of something you need to keep in mind while setting up your server.

This template has two options:

  1. to host a webpage on your domain and host foundry on your subdomain.
  2. to only host foundry on your subdomain.

What the heck does this mean?

Well, if I already previously owned the domain example.com and I was already hosting a webpage with content on it from another server, I wouldn't want the template to change which server my domain (example.com) is pointing to. I would only need this template to setup a subdomain to host foundry at foundry.example.com. In this case, you do not want the webserver option and only want to host foundry on your subdomain.

Alternatively, if I purchased the domain example.com specifically to host foundry, I could also ask this template to make two websites. One at the subdomain foundry.example.com to host foundry, and another at example.com with custom content. For example, I could make a cool landing page at example.com and put out notices for my group. All I would need to do, is transfer the website files (HTML, CSS, etc) to the server. For a game session, the group would navigate to foundry.example.com to access foundry.

Foundry Download Link

This template requires a download link for foundry. During setup, it will use this link to download and setup foundry on the server. If you are using a patreon link, follow the Patreon section. If you are downloading directly from foundry, follow the Foundry Website to Google Drive section.

Note that timed URLs from Foundry do work but typically end up failing due to the 300 second timeout.

Patreon

  1. Go to your patreon page and grab the link for the Linux version of foundry.
    It should look like this: https://foundryvtt.s3-us-west-2.amazonaws.com/releases/[AccessKey]/FoundryVirtualTabletop-linuxx64.zip
  2. Copy and paste this into a text file for easy reference later.

Foundry Website to Google Drive

  1. Download the Linux installation zip from https://foundryvtt.com/
  2. Upload the zip file to Google Drive. DO NOT UNZIP THE FILE.
  3. Right click the zip file, and then click Get Link.
    GDrive Foundry
  4. Click where it says Restricted and change this to Anyone with the link
    GDrive Permissions
  5. Click Copy link and paste this into a text file for easy reference later.

READ CAREFULLY ⚠️

Save for the .com and [generated ID] portion of the URL, your google drive link should be exactly the same as the following: https://drive.google.com/file/d/[generated ID]/view?usp=sharing.
Make sure that you are sharing the file and not a folder.

Purchasing Your Domain

I have provided support for 4 domain registrars at this time: Amazon, GoDaddy, NameCheap, and Google.

If you don't currently own a domain, my top recommendation is Amazon (Route53) followed by GoDaddy strictly for ease of purchase and setup. Please note, NameCheap and Google will require extra manual setup steps since their API's do not currently offer the tools needed for complete automation.

You will know the domain registration is complete when you receive a confirmation email.

Amazon (Route53)

Things to Note

Instructions

  1. Sign in to AWS. Sign up for an account if you don't already have one.
  2. From the AWS Management Console, search Route 53 and select Route 53 from the results.
  3. On the left-hand side, locate and click Registered domains.
  4. Click the the blue button Register Domain.
  5. Search for the domain you would like to purchase.
    Note: when searching for your domain, notice that you can change the top level domain (e.g. .com .org .ca) using the dropdown on the right of the search box.
  6. When you have found an available domain name, click Add to Cart.
  7. Click Continue and fill out your contact details for the domain registration.
  8. Read and accept the ToS and finish up the purchase.

GoDaddy

Things to Note

  • Read GoDaddy pricing carefully, the promotional cost for the first year is ONLY if you buy 2+ year ownership

Instructions

  1. Sign in to GoDaddy. Sign up for an account if you don't already have one.
  2. From the home page, search for the domain you would like to purchase.
  3. When you have found an available domain name, click Add to Cart.
  4. Click Checkout Now in the top right corner.
  5. (Optional) Select No Thanks for Domain Ownership Protection. You will not need it for this deployment.
    No Thanks
  6. Uncheck Start your website for FREE.
    Website
  7. Click Continue to Cart.
    Note: You do not need to "create an email address that matches your domain."
  8. Fill out the form for the domain registration and finish up the purchase.

Google

Things to Note

  • There are additional manual steps later required for google domains

Instructions

  1. Sign in to Google. Sign up for an account if you don't already have one.
  2. Click Find the perfect one.
  3. Search for the domain you would like to purchase
  4. When you have found an available domain name, click the shopping cart icon to add to cart.
  5. In the top right, click the cart icon to go to the shopping cart.
  6. Click Enter Info if prompted.
    Enter info
  7. Read and accept the ToS and finish up the purchase.

NameCheap

Things to Note

  • There are additional manual steps later required for NameCheap domains

Instructions

  1. Sign in to NameCheap. Sign up for an account if you don't already have one.
  2. Search for the domain you would like to purchase.
  3. When you have found an available domain name, click Add to cart.
  4. Go to your shopping cart and click Confirm Order.
  5. Fill out the form for the domain registration and finish up the registration.

Creating an AWS Account

Not much to it here! If you don't already have one, make an AWS account to host foundry.

If you're making a new account, you will have access to "free tier" for a year. Read up on that here https://aws.amazon.com/free.

AWS Best Practices

To ensure you setup a secure account, AWS provides best practices for managing your AWS account here https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html

To summarize:

  1. Create a strong password (combination of lower case, upper case, numbers, and symbols). Don't re-use passwords.
  2. Enable MFA in your accounts.
  3. Create an admin account to use in place of the root account. You do not need to manually create this here.
    This template will automatically create an administrative IAM account for you. You should use this admin account in the future to manage your AWS services.
⚠️ **GitHub.com Fallback** ⚠️