# #2 Installation - Setup Guide (Bookstack)

Bookstack is managed and configured via CloudFormation.

# 📌 0. How to Find Required Parameters

### To properly deploy BookStack, you need to provide the following network parameters and certificate ARN:

#### **1️⃣ VpcCidrBlock (CIDR block for the VPC)**

• If you are <span class="s1">**creating a new VPC**</span>, use `<span class="s2">10.0.0.0/16</span>` as the default value.

• If you are <span class="s1">**using an existing VPC**</span>, retrieve the CIDR block:

<span class="s3"> • Open </span>**AWS Console**<span class="s3"> → </span>**VPC**<span class="s3"> → </span>**Your VPCs**

[![0-vpc-your-vpc.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/0-vpc-your-vpc.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/0-vpc-your-vpc.png)

• Locate your VPC and copy the <span class="s1">**IPv4 CIDR**</span> value.

[![0-vpccidrblock.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/0-vpccidrblock.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/0-vpccidrblock.png)

#### **2️⃣ VpcId (VPC ID)**

• Locate your VPC and copy its <span class="s1">**VPC ID**</span> (e.g., <span class="s2">vpc-0a1ba422ba9a105e9</span>).

[![0-vpcid.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/0-vpcid.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/0-vpcid.png)

#### **3️⃣ Subnet1Id &amp; Subnet2Id (Subnet IDs)**

<span class="s3"> • Open </span>**AWS Console**<span class="s3"> → </span>**VPC**<span class="s3"> → </span>**Subnets**

• Select your VPC, and at the bottom panel, navigate to the <span class="s1">**Resource Map**</span> tab.

• Here, you will see a list of all subnets associated with your VPC.

• Choose two <span class="s1">**private subnets**</span> (preferably in different Availability Zones) and copy their <span class="s1">**Subnet IDs**</span> (e.g., <span class="s2">subnet-040155a08a9508bb6</span>, <span class="s2">subnet-02e4a590db71371f9</span>).

[![0-vpc-subnets.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/0-vpc-subnets.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/0-vpc-subnets.png)

<span style="color: rgb(224, 62, 45);">**⚠** </span><span class="s1">**<span style="color: rgb(224, 62, 45);">Important Notice!</span>**</span> Ensure that the region of your resources matches the deployment region in CloudFormation. If you select resource IDs from <span class="s1">**Region A**</span> but deploy in <span class="s1">**Region B**</span>, you will encounter an error stating that the specified resources do not exist. This happens because each AWS region has its own unique set of resource IDs.

#### 4️⃣ **Obtain an SSL Certificate (if you don’t have one):**

• Navigate to <span class="s1">**AWS Certificate Manager (ACM)**</span> in the AWS Management Console.

• <span style="background-color: rgb(230, 126, 35); color: rgb(0, 0, 0);">**Request**</span> a new certificate by selecting <span class="s1">**“Request a public certificate”** and click **Next**</span>.

[![1-req-pub-cert.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/1-req-pub-cert.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/1-req-pub-cert.png)

• Follow the steps to validate your domain using <span class="s1">**DNS validation (recommended)**</span> or <span class="s1">**Email validation**</span>.

[![2-req-pub-cert-configuration.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/2-req-pub-cert-configuration.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/2-req-pub-cert-configuration.png)

• Select<span class="s1"> `ECDSA P-256`</span> as the key algorithm. This is equivalent in cryptographic strength to <span class="s1">**RSA 3072**</span> but provides better performance. If `<span class="s1">ECDSA P-256</span>` is not supported by your use case, you can use `<span class="s1">RSA 2048</span>` instead (though it is less efficient). Create the tag with **Key=`Name`**, **Value=`bookstack`** (or any other meaningful name that helps you recognize it)

[![3-req-pub-cert-algoritm.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/3-req-pub-cert-algoritm.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/3-req-pub-cert-algoritm.png)

• Once the certificate is issued, copy its <span class="s1">**ARN**</span> and use it in the <span class="s1">**SSLCertificate**</span> parameter during deployment.

[![4-cert-arn.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/4-cert-arn.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/4-cert-arn.png)

<span style="color: rgb(224, 62, 45);">**⚠** </span><span class="s1">**<span style="color: rgb(224, 62, 45);">Important Notice! </span>**</span>Ensure that the certificate is created in the <span class="s2">**same AWS region**</span> where you are deploying the CloudFormation stack. If the certificate is in a different region, the ALB will not be able to use it, and the deployment will fail.

# 📌 1. Check Region Availability for RDS MariaDB & EC2-instance

### Check RDS MariaDB availability for your region   


The availability of **Graviton** for **RDS** **MariaDB** may vary depending on your region. To speed up deployment and minimize the risk of an unavailable **RDS** **instance** **type** in your chosen region, we recommend referring to the **MariaDB** availability table based on the region from which you plan to deploy the BookStack infrastructure.

📅 **Last availability scan date:** `March 19, 2025`.

<table border="1" id="bkmrk-checking-region%3A-ap-" style="border-collapse: collapse; width: 100%; height: 259px;"><colgroup><col style="width: 26.8176%;"></col><col style="width: 16.6848%;"></col><col style="width: 29.6799%;"></col><col style="width: 26.8176%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `ap-south-1`**  
  
</td><td style="height: 46.6px;">**Checking region: `eu-north-1`**</td><td style="height: 46.6px;">**Checking region: `eu-west-3`**</td><td style="height: 46.6px;">**Checking region: `eu-west-2`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td></tr><tr style="height: 63.4px;"><td style="height: 63.4px;">`db.r7g.large`</td><td style="height: 63.4px;">`db.r7g.large`</td><td style="height: 63.4px;">`db.t4g.medium`</td><td style="height: 63.4px;">`db.r7g.large`

</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">`db.t4g.small`</td></tr></tbody></table>

<table border="1" id="bkmrk-checking-region%3A-eu-" style="border-collapse: collapse; width: 100%; height: 225.4px;"><colgroup><col style="width: 19.9043%;"></col><col style="width: 17.9994%;"></col><col style="width: 30.3906%;"></col><col style="width: 31.823%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `eu-west-1`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-3`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-2`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-1`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td><td style="height: 29.8px;">`db.m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.r7g.large`</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.r7g.large`</td><td style="height: 29.8px;">`db.r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.small`</td></tr></tbody></table>

<table border="1" id="bkmrk-checking-region%3A-ca-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 19.3079%;"></col><col style="width: 19.3079%;"></col><col style="width: 29.4439%;"></col><col style="width: 32.0555%;"></col></colgroup><tbody><tr><td>**Checking region: `ca-central-1`**</td><td>**Checking region: `sa-east-1`**</td><td>**Checking region: `ap-southeast-1`**</td><td>**Checking region: `ap-southeast-2`**</td></tr><tr><td>`db.m6g.large`</td><td>`db.m6g.large`</td><td>`db.m6g.large`</td><td>`db.m6g.large`</td></tr><tr><td>`db.m7g.large`</td><td>`db.r6g.large`</td><td>`db.m7g.large`</td><td>`db.m7g.large`</td></tr><tr><td>`db.r6g.large`</td><td>`db.t4g.medium`</td><td>`db.r6g.large`</td><td>`db.r6g.large`</td></tr><tr><td>`db.r7g.large`</td><td>`db.t4g.small`</td><td>`db.r7g.large`</td><td>`db.r7g.large`</td></tr><tr><td>`db.t4g.medium`</td><td>  
</td><td>`db.t4g.medium`</td><td>`db.t4g.medium`</td></tr><tr><td>`db.t4g.small`</td><td>  
</td><td>`db.t4g.small`</td><td>`db.t4g.small`</td></tr></tbody></table>

<table border="1" id="bkmrk-checking-region%3A-eu--1" style="border-collapse: collapse; width: 100%; height: 242.2px;"><colgroup><col style="width: 18.9511%;"></col><col style="width: 19.0703%;"></col><col style="width: 17.8764%;"></col><col style="width: 18.1188%;"></col><col style="width: 25.9833%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `eu-central-1`**</td><td style="height: 46.6px;">**Checking region: `us-east-1`**</td><td style="height: 46.6px;">**Checking region: `us-east-2`**</td><td style="height: 46.6px;">**Checking region: `us-west-1`**</td><td>**Checking region: `us-west-2`**</td></tr><tr style="height: 46.6px;"><td style="height: 46.6px;">`db.m6g.large`</td><td style="height: 46.6px;">`db.m6g.large`</td><td style="height: 46.6px;">`db.m6g.large`</td><td style="height: 46.6px;">`db.m6g.large`  
  
</td><td>`db.m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td style="height: 29.8px;">`db.m7g.large`</td><td>`db.m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td style="height: 29.8px;">`db.r6g.large`</td><td>`db.r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.r7g.large`</td><td style="height: 29.8px;">`db.r7g.large`</td><td style="height: 29.8px;">`db.r7g.large`</td><td style="height: 29.8px;">`db.r7g.large`</td><td>`db.r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.medium`</td><td style="height: 29.8px;">`db.t4g.medium`</td><td>`db.t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.small`</td><td style="height: 29.8px;">`db.t4g.small`</td><td>`db.t4g.small`</td></tr></tbody></table>

### Check EC2-instance availability for your region

The availability of **Graviton** for **EC2** **instance** may vary depending on your region. To speed up deployment and minimize the risk of an unavailable **EC2** **instance** **type** in your chosen region, we recommend referring to the **EC2** availability table based on the region from which you plan to deploy the BookStack infrastructure.

📅 **Last availability scan date:** `March 20, 2025`.

<table border="1" id="bkmrk-checking-region%3A-ap--1" style="border-collapse: collapse; width: 100%; height: 255.2px;"><colgroup><col style="width: 19.3089%;"></col><col style="width: 19.7837%;"></col><col style="width: 30.2729%;"></col><col style="width: 30.7497%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `ap-south-1`**</td><td style="height: 46.6px;">**Checking region: `eu-north-1`**</td><td style="height: 46.6px;">**Checking region: `eu-west-3`**</td><td style="height: 46.6px;">**Checking region:`eu-west-2`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.medium`

</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`t4g.small`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">`c6g.large`</td></tr></tbody></table>

<table border="1" id="bkmrk-checking-region%3A-eu--2" style="border-collapse: collapse; width: 100%; height: 255.2px;"><colgroup><col style="width: 19.5459%;"></col><col style="width: 19.3119%;"></col><col style="width: 30.268%;"></col><col style="width: 30.9874%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `eu-west-1`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-3`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-2`**</td><td style="height: 46.6px;">**Checking region: `ap-northeast-1`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`t4g.small`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`c6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">  
</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`m7g.large`</td></tr></tbody></table>

<table border="1" id="bkmrk-" style="border-collapse: collapse; width: 100%; height: 255.2px;"><colgroup><col style="width: 19.0696%;"></col><col style="width: 17.2818%;"></col><col style="width: 29.4358%;"></col><col style="width: 34.3281%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `ca-central-1`**</td><td style="height: 46.6px;">**Checking region: `sa-east-1`**</td><td style="height: 46.6px;">**Checking region: `ap-southeast-1`**</td><td style="height: 46.6px;">**Checking region: `ap-southeast-2`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`t4g.small`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`c6g.large`</td></tr></tbody></table>

<table border="1" id="bkmrk-checking-region%3A-eu--3" style="border-collapse: collapse; width: 100%; height: 255.2px;"><colgroup><col style="width: 18.5936%;"></col><col style="width: 18.8319%;"></col><col style="width: 19.1895%;"></col><col style="width: 17.8811%;"></col><col style="width: 25.5039%;"></col></colgroup><tbody><tr style="height: 46.6px;"><td style="height: 46.6px;">**Checking region: `eu-central-1`**</td><td style="height: 46.6px;">**Checking region: `us-east-1`**</td><td style="height: 46.6px;">**Checking region: `us-east-2`**</td><td style="height: 46.6px;">**Checking region: `us-west-1`**</td><td style="height: 46.6px;">**Checking region: `us-west-2`**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`m6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`r7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`m7g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`t4g.small`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`m6g.large`</td><td style="height: 29.8px;">`r6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`m7g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`t4g.medium`</td><td style="height: 29.8px;">`c6g.large`</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">`c6g.large`</td><td style="height: 29.8px;">`r6g.large`</td><td style="height: 29.8px;">`r7g.large`</td><td style="height: 29.8px;">`t4g.small`</td><td style="height: 29.8px;">`t4g.medium`</td></tr></tbody></table>

# 📌 2. Configuring Parameters for main stack

### **<span class="awsui_heading-text_2qdw9_1ok6e_398 awsui_heading-text_105ke_268sp_5 awsui_heading-text-variant-h2_2qdw9_1ok6e_409" data-analytics-funnel-key="substep-name" id="bkmrk-step-1.-prerequisite-1">Step 1. Prerequisite - Prepare template</span>**

<span class="awsui_heading-text_2qdw9_1ok6e_398 awsui_heading-text_105ke_268sp_5 awsui_heading-text-variant-h2_2qdw9_1ok6e_409" data-analytics-funnel-key="substep-name">We did the first step previously, when subscribed for the product in [AWS Marketplace - Setup Guide](https://wiki.devsecopsinc.io/books/install-bookstack-wiki/page/1-aws-marketplace-setup-guide#bkmrk-2%EF%B8%8F%E2%83%A3-deployment-via-c "Deployment via CloudFormation"), so move forward to the next step.</span>

[![2.1. Deploy.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/scaled-1680-/2-1-deploy.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/2-1-deploy.png "step-1.png")

### **Step 2. Specify stack details**

Here, you need to fill in the `Stack name`. You can choose <span class="s1">**any name**</span> for your stack, but we recommend using a structured format like: `<span class="s1"><strong>bookstack</strong></span>`<span class="s2"> (e.g., </span>`wiki`<span class="s2">, </span>`docs`<span class="s2">, etc.). </span>

For this guide, we will use <span class="s1">**wiki**</span> as an example.

[![4-Step 2 Name.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/4-step-2-name.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/4-step-2-name.jpeg "4-step-2-name.jpeg")

There are **21 parameters,** some of which are predefined. You don’t need to fill in all of them — just focus on the **required** and **empty fields**. For additional guidance, refer to the help description provided under each parameter.

[![4-step-2-parameters.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/4-step-2-parameters.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/4-step-2-parameters.png "4-step-2-parameters.png")

<span class="s2"><span style="color: rgb(224, 62, 45);">**⚠ Important Notice!**</span>: There are </span>three <span class="s2">additional parameters for **AWS Marketplace Store**. They are starting from prefixes as "**MPS"**, so you shouldn't modify them - otherwise, CloudFormation will fail with an error.</span>

[![4-step-2-MPS-parameters-new.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/scaled-1680-/4-step-2-mps-parameters-new.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/4-step-2-mps-parameters-new.png "4-step-2-mps-parameters-new.png")

##### **7 Required Parameters:**

1\. **Deployment** **Environment** – Specify the environment (e.g., `<span class="s3">dev</span>`, `<span class="s3">prod</span>`).

2\. For **optional** **parameters**, you can leave the string blank, as we did with `CostAllocationTag`, `GoogleClientId`, `GoogleClientSecret`.

3\. <span class="s1">**AppURL**</span> – Define the URL where BookStack will be accessible.

4\. **VPC** **ID** – Enter the ID of an existing VPC.

5\. **VPC** **CIDR** **block** – Provide the CIDR block of your existing VPC**.**

6\. **Subnet** **IDs** – Enter the IDs of your existing subnets (e.g., `Subnet 1 ID`, `Subnet 2 ID`).

[![4-2 Step 2 Parameters.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/4-2-step-2-parameters.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/4-2-step-2-parameters.png "4-2-step-2-parameters.png")

<span class="s2"><span style="color: rgb(224, 62, 45);">**⚠ Important Notice!**</span>:</span> If you want to create new VPC, you should fill ONLY the `VPC CIDR Block`.

[![4-2 Step 2 Parameters-addition.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/scaled-1680-/4-2-step-2-parameters-addition.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/4-2-step-2-parameters-addition.png "4-2-step-2-parameters-addition.png")

7\. **EnableUserSignUp**, **MultipleAuthMethods** - by default set to false for best security practices.

[![cognito-params.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/cognito-params.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/cognito-params.jpeg "cognito-params.jpeg")

8\. **SSL Certificate ARN** – Provide the ARN of your SSL Certificate for the ALB. (*If you don’t have one, you must create it*.)

[![4-3 Step 2 Parameters.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/4-3-step-2-parameters.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/4-3-step-2-parameters.jpeg "4-3-step-2-parameters.jpeg")

<span class="s2"><span style="color: rgb(224, 62, 45);">**⚠ Important Notice!**</span>: There is </span>one <span class="s2">required parameter for **EC2AMI**. Its value is set to "**`/aws/service/marketplace/prod-ymfbr3id36e3k/version-v1.0-bookstack-v24.05.4`"**, so you shouldn't modify it - otherwise, CloudFormation will fail with an error. </span>

[![4-3 Step 2 EC2Parameters-new.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/scaled-1680-/4-3-step-2-ec2parameters-new.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-04/4-3-step-2-ec2parameters-new.png "4-3-step-2-ec2parameters-new.png")

##### **Override Optional Parameters**

Some parameters have predefined default values. You can **modify** them as needed or **leave them unchanged**:

• <span class="s1">**EC2 instance type**</span> (`<span class="s3">t4g.small</span>` is the default and is recommended for small environments).

• <span class="s1">**RDS DB instance type**</span> (`<span class="s3">db.t4g.small</span>` is the default).

• <span class="s1">**RDS storage size**</span> (`<span class="s3">20 GB</span>` by default).

• <span class="s1">**Multi-AZ deployment**</span> (set to `<span class="s3">false</span>` for cost efficiency).

<span class="s2"> • </span>**Enable/Disable RDS backups**<span class="s2">.</span>

<span class="s2">• **Enable/Disable RDS deletion protection**. <span style="color: rgb(224, 62, 45);">**⚠ Important Notice!**</span>: **<span style="color: rgb(224, 62, 45);">If</span>** this **<span style="color: rgb(224, 62, 45);">parameter</span>** is **<span style="color: rgb(224, 62, 45);">enabled</span>**, <span style="color: rgb(224, 62, 45);">**you** **will** **not** **be able to delete the stack**</span>. To proceed with deletion, go to `AWS Console` → `Amazon RDS` → `Databases`, select your database, click **Modify**, and uncheck "**Enable deletion protection**" for `bookstack-dev-rds`. After this, you can delete the main stack in CloudFormation.</span>

<span class="s2">• **Schedule backup rules**.</span>

<span class="s2">• **Schedule backup deletion**.</span>

### **Step 3. Configure stack options** 

Scroll to the bottom, check both checkboxes in the Capabilities field, and click the Next button.

[![5-Step 3 Capabilities 2.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/5-step-3-capabilities-2.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/5-step-3-capabilities-2.jpeg "5-step-3-capabilities-2.jpeg")

### **Step 4. Review and create**

Scroll to the bottom and click the **<span style="color: rgb(0, 0, 0); background-color: rgb(230, 126, 35);">Submit</span>** button.

[![6-Step 4 Submit.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/6-step-4-submit.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/6-step-4-submit.jpeg "6-step-4-submit.jpeg")

Now you can see how your environment is being deployed.

[![7-Step 4 Deploying.jpeg](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/7-step-4-deploying.jpeg)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/7-step-4-deploying.jpeg "7-step-4-deploying.jpeg")

### **Follow these simple steps to access your product:**

#### **1️⃣ Retrieving the Access URL**

1\. After successful deployment, your product will be available at a generated URL, which can be found in the `bookstack-$Environment-main` stack under the **Outputs** section, **key** `LoadBalancerDNSName`, **key** `AppURL`.

2\. In your domain registrar, create a **CNAME** **record** for `AppURL`, pointing to the generated `LoadBalancerDNSName`.

3\. Open **AppURL** in your browser and enjoy!

[![7-Outputs.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/7-outputs.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/7-outputs.png "7-outputs.png")

#### **2️⃣ Accessing BookStack**

1\. Open **<span class="s3">AppURL</span>** in your browser.

2\. Log in using the <span class="s1">**default credentials**</span>:

<span class="s2"> • </span><span class="s1">**Username:**</span> `admin@admin.com`

<span class="s2"> • </span>**Password:** `<span class="s3">password</span>`

<span class="s2"> 3. </span>**Change your password immediately!**<span class="s2"> You can do this under </span>**Profile → Settings**<span class="s2">.</span>

[![8-Login.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/8-login.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/8-login.png "8-login.png")

##### **Additional Information**

<span class="s1">✅ </span>**Application logs**<span class="s1"> are available in </span>**CloudWatch Logs**<span class="s1">.</span>

✅ <span class="s2">**Data is stored in RDS**</span>, while Bookstack files are stored on Amazon<span class="s2"> **EFS**</span>.

✅ <span class="s2">**Deletion**</span>: If needed, delete the main CloudFormation Stack to remove all associated resources automatically.

<span style="color: rgb(224, 62, 45);">**⚠ Important Notice!**</span> Before proceeding, navigate to <span style="background-color: rgb(0, 0, 0); color: rgb(236, 240, 241);">**AWS Backup → Vaults → your-backup-vault-name → Recovery Points**</span>. Select all recovery points, click the **Actions** button, and choose **Delete**. This will remove all **EFS backups**.  
**<span style="color: rgb(224, 62, 45);">Otherwise, deleting the CloudFormation stack will result in an error</span>**.[![Bookstack-aws-backup.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/bookstack-aws-backup.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/bookstack-aws-backup.png "bookstack-aws-backup.png")

[![vault recovery points.png](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/scaled-1680-/vault-recovery-points.png)](https://wiki.devsecopsinc.io/uploads/images/gallery/2025-03/vault-recovery-points.png "vault-recovery-points.png")

###  

### <span class="s1">ℹ️ </span>**Additional Information:**

> Some minor issues may occur during the initial launch, which are known and documented. Please visit the [BookStack Bugs and Known Issues](https://wiki.devsecopsinc.io/books/bookstack-known-issues) section for more information.