Planvisage SCM Application (8.0)

  • Image Name : planvisage.azurecr.io/pvwebapp:latest
  • Container Registry: planvisage.azurecr.io

Planvisage Web application can be configured using the following environment variables:

Environment variables

#Basic

1. ACR_USERNAME                 Azure container registry user name
2. ACR_PASSWORD                 Azure container registry password
3. APP_VERSION                  Application Version (Image Tag) 
4. TIME_ZONE=Asia/Kolkata       Application Time Zone
5. PV_SESSIONTIMEOUT            Application Timeout 
6. TASK_MNGR_URL                To give Task Manager/Task Scheduler URL
7. DB_EXECUTIONTIMEOUT          Maximum time(sec) allowed for DB query execution.

#Database

5. DB_CONNECTSTR                Database Connection String ( SQL Server)

#Log

6. LOG_TARGET=FILE              Log file target Type FILE/BLOB/MEMORY/AWS_CLOUDWATCH  (Optional)
7. BLOB_CONNECTSTR              For Azure Blob Storage, provide the connection string (Optional)
8. BLOB_CONTAINER_NAME          Name of the BLOB container

#License

9. LICENSE_KEY=abcd-efgh-1234-4568  License Key
10. LICENSE_NAME=companyname         Company Name
11. LICENSE_EMAIL=email@comapnyname.com  Email id to register license  

#Security

12. SECURE_COOKIE=True/False     If application is accessed by https://  set as "True", other wise "False"

#Email

13. SMTP_HOST                    SMTP Host name to send email
14. SMTP_PORT                    SMPT Port to send Email
15. SMTP_ISSSL                   SSL is True/False for SMTP
16. SMTP_USER                    SMTP User Name to send Email
17. SMTP_PWD                     Password for the specified UserName

#System Admin

18. SYSADMIN_PWD                 System Admin Password
19. SYSADMIN_EMAIL               System Admin Email Id

#SAML

20. SAML_ENABLED=True/False      SSO SAML enabled or not
21. SAML_APP_ID                  Application ID  to be used in SSO type SAML
22. SAML_PRVD                    SAML provider URL
23. SAML_CERT                    SAML certificate

#Sanitization

24. SANITIZATION                 To enable Sanitization True/False for Primary Key columns Values
25. DATA_SANITIZATION            To Enable sanitization True/False for all the column values

#AWS

26. AWS_LOG_GROUP                Specifies the CloudWatch log group name to which application logs will be sent
27. AWS_REGION                   Defines the AWS region where your resources (like logs or storage) are located
28. AWS_ACCESS_KEY               AWS access key used to authenticate and authorize access to AWS services
29. AWS_SECRET_KEY               AWS secret key paired with the access key for secure AWS authentication

#Forecast

30. PY_FRCST_URL                 To give Python Forecast service URL
31. R_FRCST_URL                  To give R Forecast service URL

Sample Docker Compose .yml File

version: '3.9'
name: 'planvisage-scm'
services:
  PvNginxServer:
    image: planvisage.azurecr.io/nginxwebserver:latest
    hostname: PV-NginxWebServer
    ports:
      - "81:80"
    environment:
      - AZURE_REGISTRY_USERNAME=${ACR_USERNAME}
      - AZURE_REGISTRY_PASSWORD=${ACR_PASSWORD}
      - TZ=${TIME_ZONE}
    networks:
      - pv-network

  PvWebApplication:
    image: planvisage.azurecr.io/planvisagedev:latest
    pull_policy: always
    hostname: PV-WebApplication
    ports:
      - "8080:8080"
    volumes:
      - ./PvWebApp/log/:/app/wwwroot/log/
      - ./PvWebApp/xml/:/app/wwwroot/xml/
      - ./PvWebApp/design/:/app/wwwroot/design
    environment:
      - AZURE_REGISTRY_USERNAME=${ACR_USERNAME}
      - AZURE_REGISTRY_PASSWORD=${ACR_PASSWORD}
      - TZ=${TIME_ZONE}
      - LOG_TARGET=${LOG_TARGET}
      - BLOB_CONNECTSTR=${BLOB_CONNECTSTR}
      - DB_CONNECTSTR=${DB_CONNECTSTR}
      - DB_TYPE=POSTGRESQL/ORACLE
      - LICENSE_KEY=${LICENSE_KEY}
      - LICENSE_NAME=${LICENSE_NAME}
      - LICENSE_EMAIL=${LICENSE_EMAIL}
      - PV_SESSIONTIMEOUT=${PV_SESSIONTIMEOUT}
      - BLOB_CONTAINER_NAME=${BLOB_CONTAINER_NAME}
      - SAML_ENABLED=${SAML_ENABLED}
      - SAML_APP_ID=${SAML_APP_ID}
      - SAML_PRVD=${SAML_PRVD}
      - SAML_CERT=${SAML_CERT}
      - SMPT_HOST=${SMPT_HOST}
      - SMPT_PORT=${SMPT_PORT}
      - SMPT_ISSSL=${SMPT_ISSSL}
      - SMPT_USER=${SMPT_USER}
      - SMPT_PWD=${SMPT_PWD}
      - TASK_MNGR_URL=${TASK_MNGR_URL}
      - SECURE_COOKIE=${SECURE_COOKIE}
      - AWS_LOG_GROUP=${AWS_LOG_GROUP}
      - AWS_REGION=${AWS_REGION}
      - AWS_ACCESS_KEY=${AWS_ACCESS_KEY}
      - AWS_SECRET_KEY=${AWS_SECRET_KEY}
      - PY_FRCST_URL=${PY_FRCST_URL}
      - R_FRCST_URL=${R_FRCST_URL}
    networks:
      - pv-network
    command: mkdir /wwwroot/data/import/

  PvTaskManager:
    image: planvisage.azurecr.io/pvtaskmanagerscheduler:latest
    pull_policy: always
    hostname: PV-TaskManager
    ports:
      - "8081:8080"
    volumes:
      - ./PvWebAppTaskMngr/log/:/app/wwwroot/log/
      - ./PvWebAppTaskMngr/xml/:/app/wwwroot/xml/
    environment:
      - AZURE_REGISTRY_USERNAME=${ACR_USERNAME}
      - AZURE_REGISTRY_PASSWORD=${ACR_PASSWORD}
      - TZ=${TIME_ZONE}
      - LOG_TARGET=${LOG_TARGET}
      - DB_CONNECTSTR=${DB_CONNECTSTR}
      - DB_TYPE=POSTGRESQL/ORACLE
      - DB_EXECUTIONTIMEOUT=${DB_EXECUTIONTIMEOUT}
      - PYTHONFORECASTURL=${PYTHONFORECASTURL}
      - RFORECASTURL=${RFORECASTURL}
      - PY_FRCST_URL=${PY_FRCST_URL}
      - R_FRCST_URL=${R_FRCST_URL}
    networks:
      - pv-network

  PvRForecast:
    image: planvisage.azurecr.io/rforecast:latest
    hostname: PV-RForecast
    ports:
      - "8083:8000"
    environment:
      - AZURE_REGISTRY_USERNAME=${ACR_USERNAME}
      - AZURE_REGISTRY_PASSWORD=${ACR_PASSWORD}
      - TZ=${TIME_ZONE}
    networks:
      - pv-network

  PvPyForecast:
    image: planvisage.azurecr.io/pyforecast:latest
    hostname: PV-PyForecast
    ports:
      - "8084:8000"
    environment:
      - AZURE_REGISTRY_USERNAME=${ACR_USERNAME}
      - AZURE_REGISTRY_PASSWORD=${ACR_PASSWORD}
      - TZ=${TIME_ZONE}
    networks:
      - pv-network

networks:
  pv-network:

Blob Connection String Format

DefaultEndpointsProtocol=https;AccountName=##accountName##;AccountKey=##accountKey##;EndpointSuffix=core.windows.net