diff --git a/open-source/guides/setup/docker-compose.mdx b/open-source/guides/setup/docker-compose.mdx
index aa9d9b2..f367877 100644
--- a/open-source/guides/setup/docker-compose.mdx
+++ b/open-source/guides/setup/docker-compose.mdx
@@ -1,143 +1,75 @@
---
-title: 'Docker'
-description: 'Deploying Multiwoven using Docker'
+title: 'Docker-Compose'
+description: 'Deploying Multiwoven using Docker-Compose'
---
-Below steps will guide you through deploying Multiwoven on a server using Docker Compose. We require PostgreSQL database to store meta data for Multiwoven. We will use Docker Compose to deploy Multiwoven and PostgreSQL.
-
-Note: If you are setting up Multiwoven on your local machine, you can skip this section and refer to [Local Setup](/guides/setup/docker-compose-dev) section.
+The steps below will guide you through deploying Multiwoven using docker-compose.
## Prerequisites
-
+- [A Gmail account with an app password](https://support.google.com/accounts/answer/185833?hl=en)
- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/)
All our Docker images are available in x86_64 architecture, make sure your server supports x86_64 architecture.
-## Deployment options
-
-Multiwoven can be deployed using two different options for PostgreSQL database.
-
-
-
-
- 1. Create a new directory for Multiwoven and navigate to it.
-
- ```bash
- mkdir multiwoven
- cd multiwoven
- ```
- 2. Download the production `docker-compose.yml` file from the following link.
-
- ```bash
- curl -LO https://multiwoven-deployments.s3.amazonaws.com/docker/docker-compose/docker-compose.yaml
- ```
-
- 3. Download the `.env.production` file from the following link.
-
- ```bash
- curl -LO https://multiwoven-deployments.s3.amazonaws.com/docker/docker-compose/.env.production
- ```
-
- 4. Rename the file .env.production to .env and update the environment variables if required.
-
- ```bash
- mv .env.production .env
- ```
-
- 5. Start the Multiwoven using the following command.
-
- ```bash
- docker-compose up -d
- ```
-
- 6. Stopping Multiwoven
-
- To stop the Multiwoven, use the following command.
-
- ```bash
- docker-compose down
- ```
-
- 7. Upgrading Multiwoven
-
- When a new version of Multiwoven is released, you can upgrade the Multiwoven using the following command.
-
- ```bash
- docker-compose pull && docker-compose up -d
- ```
- Make sure to run the above command from the same directory where the `docker-compose.yml` file is present.
-
-
-
-
- 1. Create a new directory for Multiwoven and navigate to it.
-
- ```bash
- mkdir multiwoven
- cd multiwoven
- ```
- 2. Download the production `docker-compose.yml` file from the following link.
-
- ```bash
- curl -LO https://multiwoven-deployments.s3.amazonaws.com/docker/docker-compose/docker-compose-cloud-postgres.yaml
- ```
- 3. Rename the file .env.production to .env and update the **PostgreSQL** environment variables.
-
- ```DB_HOST``` - Database Host
-
- ```DB_USERNAME``` - Database Username
-
- ```DB_PASSWORD``` - Database Password
-
- The default port for PostgreSQL is 5432. If you are using a different port, update the ```DB_PORT``` environment variable.
-
- ```bash
- mv .env.production .env
- ```
-
- 4. Start the Multiwoven using the following command.
-
- ```bash
- docker-compose up -d
- ```
-
-
-
-## Accessing Multiwoven
-
-Once the Multiwoven is up and running, you can access it using the following URL and port.
-
-Multiwoven Server URL:
-
-```http
-http://:3000
+## Deployment Steps
+1. On your VM or Local Machine, you will need to first create a directory for the Multiwoven deployment files.
+```bash
+mkdir mw
+cd mw
```
-
-Multiwoven UI Service:
-
-```http
-http://:8000
+2. Create a self-signed certificate for psuedo-TLS and store them in a sub-directory named **certs**. Please use the command below and do not change the names of the cert and key files.
+```bash
+mkdir -p certs && openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout certs/selfsigned.key -out certs/selfsigned.crt
```
+3. Download the Multiwoven docker-compose assets
+```bash
+# docker-compose.yaml
+curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/docker-compose.yaml
-If you are using a custom domain you can update the `API_HOST` and `UI_HOST` environment variable in the `.env` file.
-
-### Important considerations
-
-- Make sure to update the environment variables in the `.env` file before starting the Multiwoven.
-
-- Make sure to take regular **backups** of the PostgreSQL database.
+# nginx configuration file
+curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/nginx.conf
-To restore the backup, you can use the following command.
+# platform environment variable file
+curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/platform.env
+# temporal environment variable file
+curl -O https://aiseepublicstorage.blob.core.windows.net/multiwoven-docker-compose/temporal.env
+```
+4. Follow steps 5-8 to edit the platform.env and temporal.env environment variable files
+5. For the following variables, replace `0.0.0.0` with either **localhost** or the **ip address** of your virtual machine
+- ALLOWED_HOST="0.0.0.0"
+- API_HOST="https://0.0.0.0"
+- UI_HOST="https://0.0.0.0"
+- VITE_API_HOST="https://0.0.0.0"
+
+6. For the SECRET_KEY_BASE, use a random string of 32 characters.
+- SECRET_KEY_BASE="01010101010101010101010101010101"
+
+7. The following variables will allow the application to send you a single verification email during the account creation process. If you are using Gmail as recommended, you only need to change the following variables. For SMTP_SENDER and SMTP_USERNAME, you should use your gmail username/email address. For SMTP_PASSWORD, you should use an [app password](https://support.google.com/accounts/answer/185833?hl=en) associated with this gmail account. Note, your gmail account's default password will not work. You *must* create an app password.
+- SMTP_PASSWORD="000 111 222 333"
+- SMTP_SENDER_EMAIL=mw_test@gmail.com
+- SMTP_USERNAME=mw_test@gmail.com
+
+8. If you are not using Gmail, you will also need to update the following variables with the appropriate values for the email service that you are using.
+- SMTP_ADDRESS=smtp.gmail.com
+- SMTP_HOST=gmail.com
+- SMTP_PORT=587
+
+9. (Optional) The following changes are only required if you are using an external/cloud postgresql database.
+- DB_HOST=db
+- DB_PASSWORD=password
+- DB_PORT="5432"
+- DB_USERNAME=multiwoven
+
+10. (Optional) If you are using an external database, please comment out the following lines in the docker-compose.yaml file.
+- 59-65
+- 81
+- 103
+
+11. Once your envrionment variables have been updated, please run the following command to deploy the application:
```bash
-cat dump.sql | docker exec -i --user postgres psql -U postgres
+docker-compose up -d
```
-
-- If you are using a custom domain, make sure to update the `API_HOST` and `UI_HOST` environment variables in the `.env` file.
-
-
-
-
-
-
+12. You should now be able to access your deployment using either `https://localhost` or `https://VM_IP_ADDRESS`. The nginx proxy will terminate TLS and route your requests back to the
+necessary services. You can also access the **Temporal UI** directly via `localhost:8080` or `VM_IP_ADDRESS:8080`.