mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-11 18:51:31 +00:00
correct entry script bug and allow config from env file
- A bug in `entry` caused the script to not change into the directory correctly. This was corrected by marking the script as bash rather than sh. - `install.sh` now stops a running service before updating - `docker-compose.yml` now assigns a consistent container name for the app - `docker-compose.yml` now uses environment variables or a `.env` file to assign container name and port mappings if available - updated readme file with better instructions
This commit is contained in:
@@ -2,13 +2,39 @@
|
|||||||
|
|
||||||
Packaging and installation tools for Streamline's "Streamline EMR" application.
|
Packaging and installation tools for Streamline's "Streamline EMR" application.
|
||||||
|
|
||||||
## Usage
|
## Building
|
||||||
1. ensure you have docker access to this project's container registry on GitLab
|
1. ensure you have docker access to this project's container registry on GitLab
|
||||||
2. run `package.sh` to generate a new application package
|
2. run `package.sh` to generate a new application package
|
||||||
3. package will be stored to `build-packages/`
|
3. package will be stored to `build-packages/`
|
||||||
|
|
||||||
## Notes
|
## Installing
|
||||||
- Example of running the app directly
|
1. extract the generated archive file in a temporary folder on the target system
|
||||||
```bash
|
2. run `install.sh`
|
||||||
docker run --rm -d --name streamline -p 3000:80 -p 6607:3306 -v ./data:/var/lib/mysql registry.gitlab.com/signalytic/client-external/streamline/streamline-emr:2.0
|
|
||||||
|
## Running
|
||||||
|
### Production (systemd)
|
||||||
|
On a production system, `systemd` will manage the lifecycle of the application, e.g.
|
||||||
```
|
```
|
||||||
|
# enable and start the the application service
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable streamline-emr
|
||||||
|
systemctl start streamline-emr
|
||||||
|
|
||||||
|
# stop the application service
|
||||||
|
systemctl stop streamline-emr
|
||||||
|
|
||||||
|
# restart the application service
|
||||||
|
systemctl restart streamline-emr
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
In a docker environment, the application must be started manually. This is done by running the `entry` script, for example:
|
||||||
|
```
|
||||||
|
/var/signalytic/clientapps/streamline/streamline-emr/entry
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
Certain configuration options can be adjusted by setting environment variables or by defining these variables in a `.env` file stored in the same directory as the `docker-compose.yml` file. These variables are:
|
||||||
|
`APP_PORTS`: port mapping for the web app server (default: `3000:80`)
|
||||||
|
`DB_PORTS`: port mapping for the database server (default: `6607:3306`)
|
||||||
|
`CONTAINER_NAME`: name of the application container (default: `streamline-emr`)
|
||||||
+11
-3
@@ -21,6 +21,15 @@ if [ "$EUID" -ne 0 ]
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# stop any running systemd service if not running in a docker environment
|
||||||
|
if [ -f /.dockerenv ]; then
|
||||||
|
echo "Docker environment detected - skipping systemd installation"
|
||||||
|
else
|
||||||
|
echo "stopping system service"
|
||||||
|
systemctl stop streamline-emr
|
||||||
|
fi
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# copy root files
|
# copy root files
|
||||||
@@ -33,9 +42,8 @@ for f in $(find $LOCATION/images -name "*.img");do
|
|||||||
docker load -i $f
|
docker load -i $f
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -f /.dockerenv ]; then
|
# install systemd service unless running in a docker environment
|
||||||
echo "Docker environment detected - skipping systemd installation"
|
if [ ! -f /.dockerenv ]; then
|
||||||
else
|
|
||||||
echo "installing system service"
|
echo "installing system service"
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable streamline-emr
|
systemctl enable streamline-emr
|
||||||
|
|||||||
@@ -2,8 +2,9 @@ version: '3.9'
|
|||||||
services:
|
services:
|
||||||
streamline-emr:
|
streamline-emr:
|
||||||
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr:2.0
|
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr:2.0
|
||||||
|
container_name: ${CONTAINER_NAME:-streamline-emr}
|
||||||
volumes:
|
volumes:
|
||||||
- '/var/signalytic/clientapps/streamline/streamline-emr/data:/var/lib/mysql'
|
- '/var/signalytic/clientapps/streamline/streamline-emr/data:/var/lib/mysql'
|
||||||
ports:
|
ports:
|
||||||
- '3000:80'
|
- ${APP_PORTS:-3000:80}
|
||||||
- '6607:3306'
|
- ${DB_PORTS:-6607:3306}
|
||||||
@@ -1,5 +1,17 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
||||||
|
APPROOT="$(dirname "${BASH_SOURCE[0]}")"
|
||||||
|
|
||||||
|
echo "entering app root: $APPROOT"
|
||||||
|
cd $APPROOT
|
||||||
|
|
||||||
|
echo "creating data folder (if necessary)"
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
docker compose up --force-recreate
|
|
||||||
|
echo "starting app"
|
||||||
|
docker compose up
|
||||||
|
|
||||||
|
echo "cleaning up"
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
|
echo "done."
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
APP_PORTS="3001:80"
|
||||||
|
DB_PORTS="6607:3306"
|
||||||
Reference in New Issue
Block a user