This is the reference implementation for MMS. For the source code, please head to https://github.com/Open-MBEE/mms. For more information about Open-MBEE, visit the Open-MBEE Website. For more detailed documentation, visit MMSRI ReadTheDocs.
Note this quick start is for getting a test instance up and is not recommended for production use. Different configs will be required for different deployment scenarios, environments and workloads (ex. elasticsearch should be a cluster instead of single node, different memory allocations, etc)
Installation instructions are found here: Docker documentation
Use tag 4.x from Dockerhub
- Copy the
application.properties.example
file insrc/main/resources/
asapplication.properties
- In the command line, run
docker-compose up --build
to create and start all the services from the configuration. - Swagger ui at http://localhost:8080/v3/swagger-ui.html
- Use the command
docker-compose down
to stop any containers from running and to remove the containers, networks, and images created by thedocker-compose up
command. This command should always be done before any new attempts to restart the services from the configuration.
Note the docker compose file is running the application with the test
profile, with the config from src/main/resources/application-test.properties
This implementation brings in Spring Actuator and Logbook for monitoring and logging features - see Logbook and Actuator for more info.
The application.properties.example
file has the suggested configs and comments. example
There are a variety of options to override the packaged config depending on the deployment scenario. See Config locations for the list of options. Usually using profiles or environment variables are a good way to specify different configs for different environments.
We suggest using Docker to set up PostgreSQL and Elasticsearch. Installation instructions are found here: Docker documentation
Installation instructions: JDK-17 download
Install postgres (PostgreSQL) 11, instructions for Docker: PostgreSQL with Docker
docker run -d -e POSTGRES_PASSWORD=test1234 -e POSTGRES_USER=mmsuser -e POSTGRES_DB=mms -p 5432:5432 postgres:11-alpine
5.7 Mysql Docker
docker run -d -e MYSQL_ROOT_PASSWORD=test1234 -e MYSQL_DATABASE=mms -p 3306:3306 mysql:5.7
Install Elasticsearch 7.8. If you use Docker instructions are available here: Setting up Elasticsearch with Docker
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.8.1
Use MinIO for an open sourced local s3 api compatible storage
docker run -p 9000:9000 -e "MINIO_ACCESS_KEY=admintest" -e "MINIO_SECRET_KEY=admintest" minio/minio server /data
- Copy the
application.properties.example
file insrc/main/resources/
asapplication.properties
- Change values for all the appropriate properties. The example file holds sane values for most properties.
- Setup Run and Debug configurations. The command line run command is
./gradlew bootRun
- Swagger ui at http://localhost:8080/v3/swagger-ui.html
./gradlew generateSwaggerCode
Results in build/swagger-code-*
To learn how you can get involved in a variety of ways, please see Contributing to OpenMBEE.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details