Απαιτήσεις

Το λογισμικό μπορεί να προγραμματιστεί σε περιβάλλον linux ή macOS με αρχιτεκτονική x64_64 ή aarch64. Εναλλακτικά μπορεί να χρησιμοποιηθεί WSL2 σε περιβάλλον windows Απαραίτητο λογισμικό ή βιβλιοθήκες:

  • Docker ή Podman
  • Docker compose ή podman-compose
  • Samba Share
  • WSL2 με Linux Distro Debian ή Ubuntu αν πρόκειται για Windows περιβάλλον

May be deployed in linux x86_64/aarch64 or Mac OS aarch64

Οδηγοί

Το script εγκατάστασης κατεβάζει αυτόματα τους απαραίτητους οδηγούς για oracle database (Oracle Linux Instant client 23.7) στο φάκελο /oracle. Από εκεί και πέρα όποτε ξαναγίνεται deploy στο ίδιο directory μπορείτε είτε να αφήσετε το script να κάνει overwrite τους οδηγούς είτε όχι (συνίσταται).

Εγκατάσταση

Αντιγραφή πηγαίου κώδικα

git clone --recurse-submodules https://git.ath.hcmr.gr/hcmr-portal/hcmr-portal.git

cd hcmr-portal

Αρχικοποίηση περιβαλλοντικών μεταβλητών

Σε περιβάλλον dev ή τοπικό

cp .env-development .env

Σε περιβάλλον production/παραγωγικό


cp .env-production .env

Εκτέλεση του script εγκατάστασης

./deploy.sh

Environment Variables

### Application Settings

MODE=development
APP_UID=500
APP_GID=20

### Network Configuration

FRONTEND_HOST=frontend_dev (frontend_prod αν είναι παραγωγικό)
BACKEND_HOST=backend_dev
LOGGER_HOST=logger_dev
NTFY_HOST=ntfy

### Container Internal Port Configuration

FRONTEND_PORT=5173
BACKEND_PORT=8888
LOGGER_PORT=8888
NTFY_PORT=80

### Port Configuration (Development Defaults)

FRONTEND_HOST_PORT=5173
BACKEND_HOST_PORT=8088
LOGGER_HOST_PORT=5040
NTFY_HOST_PORT=8085

### Service Discovery

BACKEND_URL=http://${BACKEND_HOST}:${BACKEND_PORT}
FRONTEND_URL=http://${FRONTEND_HOST}:${FRONTEND_PORT}
LOGGER_URL=http://${LOGGER_HOST}:${LOGGER_PORT}
NTFY_URL=http://${NTFY_HOST}:${NTFY_PORT}

### Frontend Backend API Configuration

VITE_BASE_URL=/api

### File System

CIFS_OPTIONS=bind
SMB_MOUNT_TYPE=none
CIFS_DEVICE=mnt/accdocs
TMP_DIR=tmp
MOUNT_POINT=/mnt/accdocs

### Samba Configuration

SAMBA_SHARE=//195.251.37.9/D/accdocs
SAMBA_USER=noc-services-srv
SAMBA_PASS=YhcSkjBceRmxv8CA

### Keycloak Configuration

VITE_KEYCLOAK_URL=<https://sso.hcmr.gr/>
VITE_KEYCLOAK_CLIENT_ID=hcmr-portal
VITE_KEYCLOAK_REALM=hcmr

### Oracle Database Configuration

ORA_DB_USER="ELKETHE_ALL_LD"
ORA_DB_PASS="elkethe"
ORA_DB_CONN="dbora01.ath.hcmr.gr/clsa.ath.hcmr.gr"
ORA_DB_POOL_ALIAS="all_ld_pool1"

ORA_PORTAL_DB_USER="PORTAL"
ORA_PORTAL_DB_PASS="P0rt@l2023"
ORA_PORTAL_DB_CONN="dbora01.ath.hcmr.gr/clsa.ath.hcmr.gr"
ORA_PORTAL_DB_POOL_ALIAS="portal_pool1"

ORA_HR2_DB_USER="ELKETHE"
ORA_HR2_DB_PASS="E1k38e"
ORA_HR2_DB_CONN="dbora02.ath.hcmr.gr/orcl"
ORA_HR2_DB_POOL_ALIAS="scan_pool1"

### Oracle Pool Configuration

ORA_DB_POOL_MAX=10
ORA_DB_POOL_MIN=2
ORA_DB_POOL_INCREMENT=2
ORA_DB_POOL_TIMEOUT=60
ORA_DB_POOL_STMTCACHESIZE=10

### Document Configuration

SINGULAR_DOCS="/mnt/accdocs/"

### Special User Configuration

ADMINS=<sbarouxi@hcmr.gr>,<o.moresis@hcmr.gr>
TRIPSTAFF=<ckalkav@hcmr.gr>