You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows Build (Under Development): [![Windows Build Status][appveyor-img]][appveyor-url]
6
+
Please refer to the [wiki](https://github.com/NREL/OpenStudio-server/wiki) for additional documentation.
7
7
8
-
The below documentation has not been recently reviewed. Please refer to the [wiki](https://github.com/NREL/OpenStudio-server/wiki) for current documentation.
OpenStudio Server is a web application and distributed computing tool, which is the backbone of the OpenStudio Analysis Framework (OSAF).
14
+
It is intended to make parametric analysis of building energy models accessible to architects, engineers, and designers via the [OpenStudio PAT](http://nrel.github.io/OpenStudio-user-documentation/reference/parametric_studies/) GUI or the [OpenStudio Analysis Gem](https://github.com/NREL/OpenStudio-analysis-gem).
15
+
OpenStudio Server analyses are defined by PAT projects or OSA's. Each analysis may include many OpenStudio simulations, as determined by project configuration.
16
+
17
+
Journal of Building Performance Simulation article: [An open source analysis framework for large-scale building energy modeling](https://www.tandfonline.com/doi/full/10.1080/19401493.2020.1778788)
9
18
10
19
## Application Development and Deployment
11
20
12
-
There are primarily three ways to utilize and deploy this codebase.
21
+
There are primarily two ways to utilize and deploy this codebase.
13
22
14
-
*[openstudio_meta](./bin/openstudio_meta) CLI: Allows for the server to be deployed on a local
15
-
desktop without docker through a pre-compilation process of all required gem dependencies. Additionally, it allows for
16
-
cloud instances to be created and analyses run on them.
17
-
*[Docker Compose](https://docs.docker.com/compose/): This is the preferred environment for application development, as
18
-
it is allows for rapid iteration and does not encumber developers with deployment configuration details.
19
-
*[Docker Swarm](https://docs.docker.com/engine/swarm/): This is the recommended deployment pathway. Swarm is an
23
+
*[openstudio-server-helm](https://github.com/NREL/openstudio-server-helm) This helm chart installs a OpenStudio-server instance deployment on a AWS, Azure, or Google Kubernetes cluster using the Helm package manager. You can interface with the OpenStudio-server cluster using the Parametric Analysis Tool or the [openstudio_meta](./bin/openstudio_meta) CLI.
24
+
25
+
*[Docker Swarm](https://docs.docker.com/engine/swarm/): This is the recommended local deployment pathway. Swarm is an
20
26
orchestration engine which allows for multi-node clusters and provides significant benefits in the forms of
21
27
customization and hardening of network and storage
22
28
fundamentals.
@@ -25,42 +31,33 @@ fundamentals.
25
31
26
32
The [openstudio_meta](./bin/openstudio_meta) file is a ruby script which provides access to packaging and execution
27
33
commands which allow for this codebase to be embedded in applications deployed to computers without docker. Deployment
28
-
requires that [MongoDB v3.2](https://www.mongodb.com/download-center#previous) and [Ruby v2.2](https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/)
29
-
are additionally packaged. For an example of cross-platform deployment please see the OpenStudio build guide for the
30
-
[2.X releases](https://github.com/NREL/OpenStudio/wiki/Configuring-OpenStudio-Build-Environments) and the [CMake lists](https://github.com/NREL/OpenStudio/blob/develop/openstudiocore/CMakeLists.txt).
34
+
requires that [MongoDB 6.0.7](https://www.mongodb.com/download-center/community/releases/archive) and [Ruby v2.7](https://www.ruby-lang.org/en/downloads/)
35
+
are additionally packaged.
31
36
32
37
The openstudio_meta deployment relies on the `install_gems` command, which uses local system libraries to build all
33
38
required gem dependencies of the server. Additionally, the export flag allows for the resulting package to be
34
39
automatically assembled and zipped for deployment. It is important to note that when used on OSX and Linux systems,
35
40
it is critical to not specify the export path with home (`~`) substitution. Instead, pass a fully specified path to the
36
41
desired output directory.
37
42
38
-
Once compiled or unpacked, the openstudio_meta file can be used for starting and stopping local and remote server, and
39
-
submitting analyses to both. Assembling the required files for the analysis is left to either the OpenStudio Analysis
40
-
Spreadsheet (the Spreadsheet) or the Parametric Assessment Tool (PAT). The Spreadsheet has a similar interface for
41
-
submitting analyses to servers, and PAT makes complete use of the openstudio_meta features. For more details, please
42
-
refer to the [wiki](https://github.com/NREL/OpenStudio-server/wiki/CLI).
43
+
Once compiled or unpacked, the openstudio_meta file can be used for starting and stopping the local server for the [Parametric Analysis Tool (PAT)](https://github.com/NREL/OpenStudio-PAT) and
44
+
submitting analyses to it. Assembling the required files for the analysis is done with the [Analysis-gem](https://github.com/NREL/OpenStudio-analysis-gem) or the export OSA function in PAT. For more details, please
45
+
refer to the [wiki](https://github.com/NREL/OpenStudio-server/wiki/CLI). For examples, please refer to [OSAF notebooks](https://github.com/NREL/docker-openstudio-jupyter/tree/master).
43
46
44
47
### Local Docker Development
45
48
46
49
To develop locally the following dependency stack is recommended.
47
50
48
-
* Install Docker (Version 17.09.0 or greater is required)
51
+
* Install Docker (Version 20.10.5 or greater is required)
49
52
* OSX Users: [install Docker CE for Mac](https://docs.docker.com/docker-for-mac/install/). Please refer to [this guide](https://docs.docker.com/docker-for-mac/install/)
50
-
* Windows 10 Users: [Docker CE for Windows](https://docs.docker.com/docker-for-windows/install/). More information
51
-
can be found in [this guide](https://docs.docker.com/docker-for-windows/).
52
-
* Pre Windows 10 Users: Use Docker Toolbox. You will need to install and configure dependencies, including [VirtualBox](https://docs.docker.com/toolbox/toolbox_install_windows/#next-steps).
53
+
* Windows 10 Users: [Docker Desktop](https://www.docker.com/products/docker-desktop/).
53
54
* Linux Users: Follow the instructions in the [appropriate guide](https://www.docker.com/community-edition)
54
55
55
56
*Note: Although generally newer versions of docker will behave as expected, certain CLI interactions change between
56
57
releases, leading to scripts breaking and default behaviours, particularly regarding persistence, changing. The
57
58
docker version installed and running can be found by typing `docker info` on the command line.*
58
59
59
-
* Install Docker Compose (Version 1.17.0 or greater is required)
60
-
* Docker compose will be installed on Mac and Windows by default
61
-
* Linux Users: See instructions [here](https://docs.docker.com/compose/install/)
To deploy the OpenStudio Server in a docker-based production environment one or more machines need to be running Docker
113
-
Server version 17.9.01. If using docker on a Linux machine it is recommended that significant storage be available to
114
-
the `/var` folder. This is where Docker reads and writes all data to by default. In addition, advanced users may wish
115
-
to consider using specialized [storage drivers](https://docs.docker.com/engine/userguide/storagedriver/). Please refer
116
-
to the [wiki](https://github.com/NREL/OpenStudio-server/wiki) page for additional details and
117
-
a [configuration and reset guide](). Deploying a production docker swarm system outside of AWS (where complications
118
-
are managed and support by NREL) can be a non-trivial problem that may require significant systems administration
119
-
experience. Those embarking on this process are encouraged to refer to the scripts used by Packer to configure
120
-
[Ubuntu](https://github.com/NREL/OpenStudio-server/blob/develop/docker/deployment/scripts/aws_system_init.sh) and
121
-
[docker](https://github.com/NREL/OpenStudio-server/blob/develop/docker/deployment/scripts/aws_osserver_init.sh) in the
122
-
base AMI images, as well as the scripts used to provision the [server](https://github.com/NREL/OpenStudio-server/blob/develop/docker/deployment/scripts/server_provision.sh)
123
-
and [worker](https://github.com/NREL/OpenStudio-server/blob/develop/docker/deployment/scripts/worker_provision.sh)
124
-
nodes upon instantiation in a cluster.
108
+
Server version 20.10.05. If using docker on a Linux machine it is recommended that significant storage be available to
109
+
the `/var` folder. This is where Docker reads and writes all data to by default unless changed in the docker-compose.yml file.
110
+
There are scripts to help with docker swarm deployment [here](https://github.com/NREL/OpenStudio-server/tree/develop/local_setup_scripts).
111
+
Make sure to change the defaults to be applicable to your hardware requirements.
0 commit comments