diff --git a/docs/getting-started/setup-database.md b/docs/getting-started/database-setup/index.md
similarity index 98%
rename from docs/getting-started/setup-database.md
rename to docs/getting-started/database-setup/index.md
index 3effe6bc0..ac5296b5b 100644
--- a/docs/getting-started/setup-database.md
+++ b/docs/getting-started/database-setup/index.md
@@ -2,7 +2,7 @@
layout: default
title: Database Setup
parent: Getting Started
-nav_order: 2
+nav_order: 3
has_children: true
---
diff --git a/docs/getting-started/mssql.md b/docs/getting-started/database-setup/mssql.md
similarity index 100%
rename from docs/getting-started/mssql.md
rename to docs/getting-started/database-setup/mssql.md
diff --git a/docs/getting-started/mysql.md b/docs/getting-started/database-setup/mysql.md
similarity index 100%
rename from docs/getting-started/mysql.md
rename to docs/getting-started/database-setup/mysql.md
diff --git a/docs/getting-started/postgres.md b/docs/getting-started/database-setup/postgres.md
similarity index 100%
rename from docs/getting-started/postgres.md
rename to docs/getting-started/database-setup/postgres.md
diff --git a/docs/getting-started/images/docker-compose-vscode.png b/docs/getting-started/images/docker-compose-vscode.png
new file mode 100644
index 000000000..b6ca7a67c
Binary files /dev/null and b/docs/getting-started/images/docker-compose-vscode.png differ
diff --git a/docs/getting-started/starter-project.md b/docs/getting-started/starter-project/index.md
similarity index 96%
rename from docs/getting-started/starter-project.md
rename to docs/getting-started/starter-project/index.md
index 8e3671551..2758e4788 100644
--- a/docs/getting-started/starter-project.md
+++ b/docs/getting-started/starter-project/index.md
@@ -2,7 +2,7 @@
layout: default
title: OWS Starter Project
parent: Getting Started
-nav_order: 3
+nav_order: 4
has_children: true
---
diff --git a/docs/getting-started/ue4.md b/docs/getting-started/starter-project/ue4.md
similarity index 100%
rename from docs/getting-started/ue4.md
rename to docs/getting-started/starter-project/ue4.md
diff --git a/docs/getting-started/ue5.md b/docs/getting-started/starter-project/ue5.md
similarity index 100%
rename from docs/getting-started/ue5.md
rename to docs/getting-started/starter-project/ue5.md
diff --git a/docs/getting-started/visual-studio-code.md b/docs/getting-started/visual-studio-code.md
new file mode 100644
index 000000000..a75172806
--- /dev/null
+++ b/docs/getting-started/visual-studio-code.md
@@ -0,0 +1,98 @@
+---
+layout: default
+title: Visual Studio Code
+parent: Getting Started
+nav_order: 2
+---
+
+# Docker Setup
+
+## Requirements
+* Download or clone [OWS](https://github.com/Dartanlla/OWS)
+* Download and install [Visual Studio Code](https://code.visualstudio.com/)
+ * [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension is required
+ * [Docker for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker) extension is required
+* Download and install [Docker Desktop](https://www.docker.com/products/docker-desktop) for Windows/macOS/Linux
+* [.Net 8.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
+* Enable "Virtualization Technology" in your BIOS
+
+
+
+
+
+ Windows
+
+
+1. Make sure Windows Subsystem for Linux is installed. ![Launch Docker Compose](images/windows-subsystem-for-linux01.png){: .mt-3}
+2. Download and install [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop)
+3. Open the src folder inside the OWS Project folder and open it with Visual Studio Code.
+4. Select View -> Command Palette, Type Docker Compose Up select docker-compose.xml as the compose file.
+5. Select Windows Template File ![Launch Docker Compose](images/docker-compose-vscode.png){: .mt-3}
+6. Optional
+ Running Docker Compose without Visual Studio Code, Enter the following Command Prompt from the OWS root directory.
+
+ ```bash
+ docker-compose -f docker-compose.yml -f docker-compose.override.windows.yml -f docker-compose-additional.yml up -d
+ ```
+
+ For a fresh build use the following command
+
+ ```bash
+ docker-compose -f docker-compose.yml -f docker-compose.override.windows.yml -f docker-compose-additional.yml up -d --build --force-recreate
+ ```
+
+
+
+
+ macOS
+
+
+1. Download and install [Docker Desktop for Mac](https://docs.docker.com/desktop/install/mac-install/)
+2. Run the following command in a terminal to install the Development Certificates
+
+ ```bash
+ dotnet dev-certs https --trust
+ ```
+
+3. Open the src folder inside the OWS Project folder and open it with Visual Studio Code.
+4. Select View -> Command Palette, Type Docker Compose Up select docker-compose.xml as the compose file.
+5. Select macOS Template File ![Launch Docker Compose](images/docker-compose-vscode.png){: .mt-3}
+5. Optional
+ Running Docker Compose without Visual Studio Code, Run the following command in an terminal from the OWS root directory.
+
+ ```bash
+ docker-compose -f docker-compose.yml -f docker-compose.override.osx.yml -f docker-compose-additional.yml up -d
+ ```
+
+ For a fresh build use the following command
+
+ ```bash
+ docker-compose -f docker-compose.yml -f docker-compose.override.osx.yml -f docker-compose-additional.yml up -d --build --force-recreate
+ ```
+
+
+
+
+ Linux
+
+
+1. Download and install [Docker Desktop for Linux](https://docs.docker.com/desktop/install/linux-install/)
+2. Close all web browsers
+3. Download and Run [dotnet-dev-certificate-linux](https://github.com/CodewareGames/dotnet-dev-certificate-linux) to install Development HTTPS Certificate.
+4. Open the src folder inside the OWS Project folder and open it with Visual Studio Code.
+5. Select View -> Command Palette, Type Docker Compose Up select docker-compose.xml as the compose file.
+6. Select Linux Template File ![Launch Docker Compose](images/docker-compose-vscode.png){: .mt-3}
+7. Run the following command in an terminal from the OWS src directory.
+
+ ```bash
+ sudo docker-compose -f docker-compose.yml -f docker-compose.override.linux.yml -f docker-compose-additional.yml up -d
+ ```
+
+ For a fresh build use the following command
+
+ ```bash
+ sudo docker-compose -f docker-compose.yml -f docker-compose.override.linux.yml -f docker-compose-additional.yml up -d --build --force-recreate
+ ```
+
+
+[Next: Database setup](setup-database){: .btn .btn-outline }
diff --git a/docs/getting-started/docker-setup.md b/docs/getting-started/visual-studio.md
similarity index 99%
rename from docs/getting-started/docker-setup.md
rename to docs/getting-started/visual-studio.md
index 3c04a3d12..c1044a307 100644
--- a/docs/getting-started/docker-setup.md
+++ b/docs/getting-started/visual-studio.md
@@ -1,6 +1,6 @@
---
layout: default
-title: Docker Setup
+title: Visual Studio
parent: Getting Started
nav_order: 1
---
diff --git a/docs/troubleshooting/visual-studio.md b/docs/troubleshooting/visual-studio.md
index 8d46df73f..489410af2 100644
--- a/docs/troubleshooting/visual-studio.md
+++ b/docs/troubleshooting/visual-studio.md
@@ -3,7 +3,6 @@ layout: default
title: Visual Studio
parent: Troubleshooting
nav_order: 1
-has_children: true
---
# Visual Studio
diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json
new file mode 100644
index 000000000..1bc0177c8
--- /dev/null
+++ b/src/.vscode/settings.json
@@ -0,0 +1,16 @@
+{
+ "docker.commands.composeUp": [
+ {
+ "label": "Linux",
+ "template": "${composeCommand} ${configurationFile} -f docker-compose.override.linux.yml -f docker-compose-additional.yml up ${detached} ${build}"
+ },
+ {
+ "label": "macOS",
+ "template": "${composeCommand} ${configurationFile} -f docker-compose.override.osx.yml -f docker-compose-additional.yml up ${detached} ${build}"
+ },
+ {
+ "label": "Windows",
+ "template": "${composeCommand} ${configurationFile} -f docker-compose.override.windows.yml -f docker-compose-additional.yml up ${detached} ${build}"
+ },
+ ],
+}
\ No newline at end of file