Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,22 @@ git clone https://github.com/soft-eng-practicum/AnalySim.git

After you have cloned the Analysim repository on your local machine,
use the terminal to navigate to the
`AnalySim\src\Analysim.Web\ClientApp` folder and run the following
`src/Analysim.Web/ClientApp` folder and run the following
command.

```sh
npm install
```

Then navigate to `AnalySim\src\Analysim.Web\ClientApp\src\assets\jupyter` folder and run the following commands.
Then navigate to `src/Analysim.Web/ClientApp/src/assets/jupyter` folder and run the following commands.

```sh
python -m pip install -r requirements.txt
jupyter-lite build --output-dir dist
```

Then copy the file `index.html` under `dist\lab\index.html`.

### Connecting to databases and other services

Analysim requires two databases to operate: one SQL database (PostgreSQL) for relational data and one Azure BlobStorage database for keeping uploaded user files. In addition, an Outlook account is needed for the email functionality. All of these services are accessed via authentication information stored in the `appsettings.json` and `appsettings.Development.json` files under the `src/Analysim.Web` folder. The structure of the files are as follows (`XXX` means redacted):
Expand Down
6 changes: 4 additions & 2 deletions deploy/cert-renew
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#! /bin/bash
CERT_DIR=`find /etc/letsencrypt/live -type d | tail -1`
# Currently must pause .Net server before doing this
http-server -p 80 /home/exouser/wwwroot/ &
sleep 3s
certbot renew
./convert-pem2pfx.sh
cp /etc/letsencrypt/live/analysim.tech/fullchain.pfx ~/.aspnet/https/
./convert-pem2pfx.sh $CERT_DIR
cp $CERT_DIR/fullchain.pfx ~/.aspnet/https/
# kill the http server
kill $(jobs -p)
8 changes: 7 additions & 1 deletion deploy/convert-pem2pfx.sh
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
openssl pkcs12 -inkey /etc/letsencrypt/live/analysim.tech/privkey.pem -in /etc/letsencrypt/live/analysim.tech/fullchain.pem -export -out /etc/letsencrypt/live/analysim.tech/fullchain.pfx -password pass:analysim
#! /bin/bash
if [ "$1" == "" ]; then
echo "Usage: ./cert-renew <cert-dir>"
echo "Example: ./cert-renew /etc/letsencrypt/live/analysim.tech/"
exit -1
fi
openssl pkcs12 -inkey $1/privkey.pem -in $1/fullchain.pem -export -out $1/fullchain.pfx -password pass:analysim
2 changes: 1 addition & 1 deletion src/Analysim.Web/ClientApp/angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "8kb"
"maximumError": "12kb"
}
],
"fileReplacements": [
Expand Down
75 changes: 25 additions & 50 deletions src/Analysim.Web/ClientApp/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ export class JupyterLiteStorageService {

constructor() {
this.filesStore = localforage.createInstance({
name: 'JupyterLite Storage',
name: 'JupyterLite Storage - /assets/jupyter/dist/',
storeName: 'files', // Object store name
description: 'Storage for JupyterLite files',
});
this.checkpointsStore = localforage.createInstance({
name: 'JupyterLite Storage',
name: 'JupyterLite Storage - /assets/jupyter/dist/',
storeName: 'checkpoints', // Object store name
description: 'Storage for JupyterLite checkpoints',
});
Expand Down
Loading