CoolFace
Apppublic

Mnsory/PharmaCore

sourceHugging Faceupdated 4mo agoView on Hugging Face
0likes
run.sh98 linesDownload Raw Back to root
1#!/bin/bash2set -e3 4MSSQL_MEMORY_LIMIT_MB=256 /opt/mssql/bin/sqlservr &5MSSQL_PID=$!6 7echo "Waiting for SQL Server to be ready..."8for i in $(seq 1 30); do9    if /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P "$MSSQL_SA_PASSWORD" -Q "SELECT 1" &>/dev/null; then10        echo "SQL Server is ready."11        break12    fi13    echo "  attempt $i/30..."14    sleep 315done16 17configure_sql() {18    /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P "$MSSQL_SA_PASSWORD" -Q "19        EXEC sp_configure 'show advanced options', 1; RECONFIGURE;20        EXEC sp_configure 'max server memory (MB)', 512; RECONFIGURE;21        EXEC sp_configure 'clr enabled', 0; RECONFIGURE;"22}23 24upload_to_hf() {25    if [ -z "$HF_TOKEN" ]; then26        echo "WARNING: HF_TOKEN is not set. Skipping upload."27        return 128    fi29    if [ ! -f "/app/backend/PharmaCoreDb.bak" ]; then30        echo "WARNING: Backup file not found. Skipping upload."31        return 132    fi33    python3 -c "34from huggingface_hub import HfApi35import os36api = HfApi(token=os.environ['HF_TOKEN'])37api.upload_file(38    path_or_fileobj='/app/backend/PharmaCoreDb.bak',39    path_in_repo='PharmaCoreDb.bak',40    repo_id=os.environ['REPO_ID'],41    repo_type='dataset'42)43print('Upload complete.')44"45}46 47if [ "$MIGRATE_ONLY" = "true" ]; then48    configure_sql49 50    cd /app/backend51    MIGRATE_ONLY=true dotnet PharmaCore.API.dll52 53    /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P "$MSSQL_SA_PASSWORD" -Q "54        BACKUP DATABASE PharmaCoreDb55        TO DISK = '/app/backend/PharmaCoreDb.bak'56        WITH FORMAT, INIT;"57 58    upload_to_hf59 60    kill $MSSQL_PID61    exit 062fi63 64configure_sql65 66BACKUP_URL="https://huggingface.co/datasets/${REPO_ID}/resolve/main/PharmaCoreDb.bak"67HTTP_STATUS=$(curl -s -L -o /dev/null -w "%{http_code}" \68    -H "Authorization: Bearer ${HF_TOKEN}" "$BACKUP_URL")69 70if [ "$HTTP_STATUS" -eq 200 ]; then71    curl -L -H "Authorization: Bearer ${HF_TOKEN}" \72        -o /app/backend/PharmaCoreDb.bak "$BACKUP_URL"73 74    /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P "$MSSQL_SA_PASSWORD" -Q "75        RESTORE DATABASE PharmaCoreDb76        FROM DISK = '/app/backend/PharmaCoreDb.bak'77        WITH MOVE 'PharmaCoreDb'     TO '/var/opt/mssql/data/PharmaCoreDb.mdf',78             MOVE 'PharmaCoreDb_log' TO '/var/opt/mssql/data/PharmaCoreDb_log.ldf',79        REPLACE;"80else81    echo "No remote backup found. Starting with empty database."82fi83 84cd /app/backend && dotnet PharmaCore.API.dll --urls "http://localhost:8080" &85 86caddy run --config /app/Caddyfile --adapter caddyfile &87 88while true; do89    sleep 30090 91    /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P "$MSSQL_SA_PASSWORD" -Q "92        BACKUP DATABASE PharmaCoreDb93        TO DISK = '/app/backend/PharmaCoreDb.bak'94        WITH FORMAT, INIT;" || true95 96    upload_to_hf || true97done98