This application pulls user and system allocation/usage data from the Texas Advanced Computing Center (TACC) Allocation System (TAS) database. Data is retrieved in monthly .xlsl files. Then, using the Pandas and Plotly Dash external Python libraries, an Nginx web server, and a TACC-partitioned VM, it creates a visual, interactive data dashboard with filters, charts, and graphs.
The application serves a dashboard that displays overall trends to all visitors, and shows sensitive user data only to visitors who are logged in.
The app is currently hosted here.
-
On your VM, pull the application files from the GitHub repository.
git clone [email protected]:TACC/utrc-dashboard.git -
In ./assets/data/monthly_reports, add all monthly reports. Reports should follow the following naming convention: utrc_report_YYYY-MM-DD_to_YYYY-MM-DD.xlsx (e.g. utrc_report_2019-12-01_to_2020-01-01.xlsx).
-
In the root directory, add a .env file with the values
SECRET_KEYandACCOUNTS.SECRET_KEYshould be a securely generated string.ACCOUNTSshould contain a single json dictionary with usernames as keys and passwords as values. See.env.samplefor an example. -
Open
config.pyand confirm the value forsettings["DEBUG_MODE"]. If you are setting up a development environment this should be set toTrue. This will enable hot reloading and caching in your development environment. If you are setting up a production environmentsettings["DEBUG_MODE"]should be set toNone. -
If you are setting up a production environment, set up the Nginx web server configuration file to reverse proxy at port 8050.
# /etc/nginx/sites-available/dashboard.conf server { listen 80; listen [::]:80; # Change to domain name server_name 129.114.38.28; location / { proxy_pass http://localhost:8050; } } -
Start the application. For a production environment use:
docker compose up --build -dFor a development environment, use the
docker-compose-dev.yamlfile so you do not have to restart the container to see changes:docker compose -f docker-compose-dev.yaml up --build