Skip to content

Commit 47b70a6

Browse files
authored
Revise cloud deployment instructions in README
Updated README.md for clarity and consistency in instructions.
1 parent be29de3 commit 47b70a6

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

README.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ docker build -t docker-urbanopt:latest .
4444

4545
### Option 1: Docker-Based URBANopt Execution
4646

47-
For a single-server cloud deployment (for example, an AWS EC2 instance), the simplest and most reproducible approach is to run **URBANopt inside a Docker container**. This avoids installing URBANopt directly on the virtual machine and makes upgrades, rollbacks, and environment consistency as simple as changing the container tag.
47+
For a single-server cloud deployment (for example, an AWS EC2 instance), the simplest and most reproducible approach is to run **URBANopt inside a Docker container**. This avoids installing URBANopt directly on the cloud instance and makes upgrades, rollbacks, and environment consistency as simple as changing the container tag.
4848

4949
In this workflow, URBANopt runs entirely inside a container, while project files and simulation outputs live on the host filesystem.
5050

@@ -54,7 +54,7 @@ In this workflow, URBANopt runs entirely inside a container, while project files
5454

5555
## Step 1: Launch a Cloud Instance
5656

57-
Launch a Linux-based virtual machine on your preferred cloud platform:
57+
Launch a Linux-based instance on your preferred cloud platform:
5858

5959
- AWS EC2
6060
- Azure Virtual Machines
@@ -70,19 +70,19 @@ Launch a Linux-based virtual machine on your preferred cloud platform:
7070

7171
## Step 2: Connect via SSH
7272

73-
Once the instance is running, connect using SSH:
73+
Once the instance is running, get its IP address and connect a terminal to it using SSH:
7474

7575
```
7676
ssh user@your-instance-ip
7777
```
7878

79-
All remaining steps are performed inside this SSH session.
79+
**All remaining steps are performed inside this SSH session.**
8080

8181
---
8282

8383
## Step 3: Install Docker
8484

85-
Most cloud VMs do **not** include Docker by default.
85+
Most cloud instances do **not** include Docker by default, so make sure that it is installed so you can run the URBANopt docker container.
8686

8787
On Ubuntu 22.04:
8888

@@ -99,7 +99,7 @@ Managed container services (AWS ECS, AWS Batch, Kubernetes) already include Dock
9999

100100
## Step 4: Obtain Your URBANopt Project Files
101101

102-
This guide assumes your URBANopt project is stored in a Git repository and cloned onto the instance:
102+
This guide assumes your URBANopt project is stored in a Git repository and can be cloned onto the instance:
103103

104104
```
105105
git clone https://github.com/your-org/your-urbanopt-project.git
@@ -112,13 +112,14 @@ Other transfer methods (for example, SCP, rsync, or cloud storage downloads) may
112112

113113
## Step 5: Pull the URBANopt Docker Image
114114

115-
URBANopt is provided as a prebuilt Docker image on Docker Hub:
115+
URBANopt is provided as a prebuilt Docker image on [Docker Hub](https://hub.docker.com/r/nrel/docker-urbanopt).
116+
For example, version 1.1.0 is named:
116117

117118
```
118119
nrel/docker-urbanopt:1.1.0
119120
```
120121

121-
Pull the image locally:
122+
To pull the URBANopt 1.1.0 image locally to the instance, execute the following command:
122123

123124
```
124125
docker pull nrel/docker-urbanopt:1.1.0
@@ -128,7 +129,8 @@ docker pull nrel/docker-urbanopt:1.1.0
128129

129130
## Step 6: Run URBANopt Using Docker
130131

131-
Run URBANopt by mounting the project directory into the container:
132+
Run the URBANopt container and mount the project directory into the container, so that URBANopt CLI has access to the project files.
133+
In this example, we assume that the :
132134

133135
```
134136
docker run --rm -it \
@@ -140,6 +142,16 @@ docker run --rm -it \
140142

141143
### Notes
142144

145+
- `docker run` starts a new container from a Docker image.
146+
- `--rm` automatically removes the container after it exits (optional).
147+
- `-it` runs the container in interactive mode with a TTY attached.
148+
- `-v "$(pwd):/work"` mounts the current host directory into the container at `/work`.
149+
- `nrel/docker-urbanopt:1.1.0` is the Docker image containing UrbanOpt version 1.1.0 and its dependencies.
150+
- `uo run` invokes the UrbanOpt CLI inside the container.
151+
- `-f example_uo/example_project.json` specifies the UrbanOpt project definition file.
152+
- `-s example_uo/baseline_scenario.csv` specifies the scenario CSV used for the run.
153+
154+
143155
- `example_project.json` and `baseline_scenario.csv` are **example files provided by URBANopt**
144156
- User projects will typically use different filenames
145157
- URBANopt CLI usage and workflows are unchanged from a native installation
@@ -168,7 +180,7 @@ No results are stored only inside the container.
168180

169181
## Parallel Execution
170182

171-
The number of parallel URBANopt simulations is controlled in `runner.conf`:
183+
The number of parallel URBANopt simulations is controlled in project config file `runner.conf`:
172184

173185
```
174186
num_parallel = 10

0 commit comments

Comments
 (0)