mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-11 18:51:31 +00:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be46a72642 | ||
|
|
ad46e34e92 |
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "streamline-emr",
|
||||
"org": "streamline",
|
||||
"version": "3.4",
|
||||
"version": "3.2",
|
||||
"platforms": [
|
||||
"linux/arm64"
|
||||
]
|
||||
|
||||
@@ -1 +1 @@
|
||||
FROM streamline:signalytic_latest
|
||||
FROM streamlinehealth/streamline:signalytic
|
||||
@@ -5,5 +5,6 @@ LOCATION="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
CONFIG=${CONFIG:-${LOCATION}/config.json}
|
||||
SRC=${SRC:-${LOCATION}/src}
|
||||
BUILD_DIR=${BUILD_DIR:-${LOCATION}/build-packages}
|
||||
#INSTALL_SCRIPT=${LOCATION}/install.sh
|
||||
|
||||
${LOCATION}/hosted-app-utils/package ${CONFIG} ${SRC} output=${BUILD_DIR} $@
|
||||
|
||||
+41
-7
@@ -13,7 +13,7 @@ def run_script(script_path: str) -> int:
|
||||
if not os.path.exists(script_path):
|
||||
print(f"Error: Script not found at {script_path}", file=sys.stderr)
|
||||
return 1
|
||||
|
||||
|
||||
try:
|
||||
subprocess.run(f'{script_path}', check=True, capture_output=True, text=True)
|
||||
return 0
|
||||
@@ -45,8 +45,7 @@ def handle_start(src_dir, install_path):
|
||||
shutil.copytree(src_dir, install_path, dirs_exist_ok=True)
|
||||
|
||||
# start application
|
||||
if run_script(f'{install_path}/start') != 0:
|
||||
return 1
|
||||
run_script(f'{install_path}/start')
|
||||
|
||||
return 0
|
||||
except Exception as ex:
|
||||
@@ -68,8 +67,7 @@ def handle_stop(install_path: str):
|
||||
|
||||
try:
|
||||
# stop application
|
||||
if run_script(f'{install_path}/stop') != 0:
|
||||
return 1
|
||||
run_script(f'{install_path}/stop')
|
||||
|
||||
return 0
|
||||
except subprocess.CalledProcessError as e:
|
||||
@@ -97,9 +95,45 @@ def handle_restart(src_path: str, install_path: str):
|
||||
return 0
|
||||
|
||||
|
||||
def uninstall_app(args: argparse.Namespace, install_path) -> int:
|
||||
"""
|
||||
Uninstall application at specified installation directory.
|
||||
|
||||
Args:
|
||||
install_path (str): Path to target installation directory.
|
||||
Returns:
|
||||
Int
|
||||
"""
|
||||
|
||||
rval = 0
|
||||
try:
|
||||
|
||||
# disable application then uninstall
|
||||
disable_path = os.path.join(install_path, 'disable')
|
||||
stop_path = os.path.join(install_path, 'stop')
|
||||
if os.path.exists(disable_path):
|
||||
subprocess.check_output(disable_path)
|
||||
|
||||
if os.path.exists(stop_path):
|
||||
subprocess.check_output(stop_path)
|
||||
|
||||
# reset vols, networks
|
||||
subprocess.check_output(['docker', 'compose', f'-f {install_path}/docker-compose.yml', 'down', '-v'])
|
||||
|
||||
if os.path.exists(install_path):
|
||||
shutil.rmtree(install_path)
|
||||
except Exception as e:
|
||||
print(f'Exception encountered: {e}')
|
||||
traceback.print_exc()
|
||||
rval = 1
|
||||
return rval
|
||||
|
||||
# script constants
|
||||
utils_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
|
||||
working_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
temp_dir = tempfile.mkdtemp()
|
||||
build_dir = os.path.join(temp_dir, 'build')
|
||||
staging_dir = os.path.join(temp_dir, 'staging')
|
||||
working_dir = working_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
src_path = os.path.join(working_dir, 'src')
|
||||
CONFIG_JSON = os.path.join(working_dir, 'config.json')
|
||||
|
||||
@@ -168,4 +202,4 @@ def main() -> int:
|
||||
return 1
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
sys.exit(main())
|
||||
+21
-1
@@ -1,8 +1,22 @@
|
||||
services:
|
||||
streamline-emr:
|
||||
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr/streamline-emr/arm64:3.4
|
||||
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr/streamline-emr/arm64:3.2
|
||||
container_name: streamline-emr
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.streamline.rule=Host(`streamline.signalytic.lan`)"
|
||||
- "traefik.http.routers.streamline.entrypoints=websecure"
|
||||
- "traefik.http.routers.streamline.tls=true"
|
||||
- "traefik.http.routers.streamline.priority=2"
|
||||
- "traefik.http.routers.streamline.service=streamline"
|
||||
- "traefik.http.routers.streamline.middlewares=streamline-https"
|
||||
- "traefik.http.services.streamline.loadbalancer.server.port=80"
|
||||
- "traefik.http.middlewares.streamline-https.headers.customrequestheaders.X-Forwarded-Proto=https"
|
||||
- "traefik.http.middlewares.streamline-https.headers.customrequestheaders.X-Forwarded-Port=443"
|
||||
- "traefik.http.middlewares.streamline-https.headers.sslProxyHeaders.X-Forwarded-Proto=https"
|
||||
- "traefik.docker.network=signalytic-proxy"
|
||||
- "traefik.http.middlewares.streamline-https.headers.contentSecurityPolicy=upgrade-insecure-requests"
|
||||
volumes:
|
||||
- "${DATA_DIR:-./data}:/var/lib/mysql"
|
||||
ports:
|
||||
@@ -16,6 +30,8 @@ services:
|
||||
start_interval: 10s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
networks:
|
||||
- signalytic-proxy
|
||||
|
||||
statistics:
|
||||
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr/statistics/arm64:3.1
|
||||
@@ -47,3 +63,7 @@ services:
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
networks:
|
||||
signalytic-proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user