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:
2024-02-29 16:37:12 -08:00
parent ca3d2f5540
commit 1a4756fda0
5 changed files with 63 additions and 14 deletions
+32 -6
View File
@@ -2,13 +2,39 @@
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
2. run `package.sh` to generate a new application package
3. package will be stored to `build-packages/`
## Notes
- Example of running the app directly
```bash
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
```
## Installing
1. extract the generated archive file in a temporary folder on the target system
2. run `install.sh`
## 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`)