- compress images with xz by default (and decompress on install)
- add help menu and command line argument parsing to package.sh
- display packaging status if `pv` command available
An additional config file `instances.conf` is added to define instance names and
port numbers. The existing `app.conf` was also modified to include an
`instances` field and to move node id and location under this new object. A
`.env` file is used to manage configuration for each instance.
Additional scripts are added: `start`, `stop`, `monitor` - see docs for
description. The main entry script is also modified such that it will run until
any service stops, then brings down the remaining services and exits.
Further configuration options are made available to support running multiple
instances of the app on the same machine, including the use of docker sibling
containers. `README.md` and `template.env` are updated accordingly.
The database port is no longer exposed as this is not required to access and
manage the app at this time.
- 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
The packaging script will create a new tar.bz2 archive containing an install
script, a set of docker images, and a root folder with files to be installed.
The root folder includes a systemd service, a docker compose file, an entry
script, and a template config file.
On installation docker images are loaded onto the target system, install files
are copied, then systemd services are installed.