https://github.com/mskcc/smile-server
https://github.com/mskcc/smile-server
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mskcc/smile-server
- Owner: mskcc
- Created: 2020-11-12T17:58:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2026-04-03T16:20:24.000Z (3 months ago)
- Last Synced: 2026-04-03T19:33:39.029Z (3 months ago)
- Language: Java
- Size: 1000 KB
- Stars: 2
- Watchers: 2
- Forks: 4
- Open Issues: 94
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CMO SMILE Server 🔍
SMILE is a distributed microservices system. It receives messages from LIMS when a request is marked delivered. This message is processed and persisted to NEO4J. Any new message is then published to downstream subscribers.
## Run
### Custom properties
Make an `application.properties` based on [application.properties.EXAMPLE](src/main/resources/application.properties.EXAMPLE).
All properties are required with the exception of some NATS connection-specific properties. The following are only required if `nats.tls_channel` is set to `true`:
- `nats.keystore_path` : path to client keystore
- `nats.truststore_path` : path to client truststore
- `nats.key_password` : keystore password
- `nats.store_password` : truststore password
### Locally
**Requirements:**
- maven 3.8.8
- java 21
Add `application.properties` to the local application resources: `src/main/resources`
Build with
```
mvn clean install
```
Run with
```
java --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -jar server/target/smile_server.jar
```
### With Docker
**Requirements**
- docker
Build image with Docker
```
docker build -t /: .
```
or with Apple silicon
```
docker build --platform linux/amd64 -t /: .
```
Push image to DockerHub
```
docker push /:
```
If the Docker image is built with the properties baked in then simply run with:
```
docker run --name smile-server /: \
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -jar /smile-server/smile_server.jar
```
Otherwise use a bind mount to make the local files available to the Docker image and add `--spring.config.location` to the java arg
```
docker run --mount type=bind,source=,target=/smile-server/src/main/resources \
--name smile-server /: \
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -jar /smile-server/smile_server.jar \
--spring.config.location=/cmo-metadb/src/main/resources/application.properties
```