The site that allows users to search old Trax in Space 1 files. You can see this site in action at https://tis.roncli.com.
More generally, this site basically functions as a file repository. Azure Application Insights is used for logging. Files are loaded in via an Azure Storage file share, and any accompanying html that is to be displayed on a directory's page is under the corresponding path in the /node/html
directory and is listed as index.htm
.
This project is deployed into an Azure Container App.
If you use this for yourself, you'll want to go into the package.json
and index.js
files and the html
directory, remove the tis.roncli.com-specific content, and replace it with your own.
You need four files under the following environment variables, which you can place in an .env
file in the root of the4 directory. It should contain the following:
PORT=8080
NODE_ENV=production
APPINSIGHTS_CONNECTIONSTRING=InstrumentationKey=...
USE_AZURE_FILE_STORAGE=0
If you set USE_AZURE_FILE_STORAGE
to 0, then the application will use the local files
directory for files to serve.
If you set USE_AZURE_FILE_STORAGE
to 1, then you will need to mount a file share to the /mnt/files
directory. This needs to be done in Azure by mounting a volume to the container itself.
To run the application locally, set USE_AZURE_FILE_STORAGE
to 0, have Docker installed, and run the following Docker commands from the root of the project:
docker build -t tis.roncli.com .
docker run -d -p 8080:8080 --env-file .env --name tis-roncli-com tis-roncli-com
- Package updates.
- Fixed bug with directory paths not working when missing the trailing slash.
- Package updates.
- Updated to use Azure Container Apps instead of Docker.
- Fixed bug with being unable to download files.
- Package updates.
- Fix path traversal attempts throwing errors.
- Package updates.
- Major refactor.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Package updates.
- Make Azure File Storage optional. If not using Azure File Storage, just dump all the files to be available for download into
/node/files/
. - Make Azure Application Insights optional.
- Increased download limit to 1000 per 12 hours per IP.
- Added optional Docker metrics logged to Application Insights.
- Added tsconfig.json files.
- Added and updated dependencies.
- Fixed some Application Insights calls.
- Fixed some
fs
constants.
- Added Application Insights logging via the logging container, which is a gelf server that Docker can use to log console messages. Application Insights is now required to function.
- Update nginx container for extended logging.
- Fixed bug with IP address trying to forward to the SSL version of the IP address, now it forwards to the SSL version of the domain.
- Always create and copy the nginx config, regardless if it already exists.
- Refactor of index.js in the node container, includes Application Insights logging for exceptions.
- Updated packages, and updated for use in Docker.
- Updated packages.
- Initial version.