ClinicianFOCUS / clinicianfocus-installer

Install tool to help with installing the software and tools under development in this applied research project.
GNU Affero General Public License v3.0
0 stars 1 forks source link

NSIS Installer for Speech2text, Local-LLM Containers, and FreeScribe client + auto deploy to github releases #4

Closed ItsSimko closed 1 month ago

ItsSimko commented 1 month ago

Issues: #1 #2 #3 If you want to demo before merge can be found here: https://github.com/ItsSimko/clinicianfocus-installer/releases/tag/v0.0.4

Relys on this PR of the LLM-Container to pass the hugging face token into the container. Does not work properly without. https://github.com/ClinicianFOCUS/local-llm-container/pull/4

Note this is not the final version it's just a baseline functional one. I figured I would make a pr so you can begin to review while I work on the finer details.

Currently installs all the containers and Freescribe client, and very basic configuration for the local llm container to get it up and running

As it stands this installer should get you up and running

Todo:

Quoted from: https://github.com/ClinicianFOCUS/clinicianfocus-installer/pull/4#issuecomment-2407826789

Summary by Sourcery

Implement an NSIS installer for the ClinicianFOCUS Toolbox, replacing the previous batch script installation method. Update the README to guide users through the new installation process. Add a CI workflow to automate the build and release of the installer on GitHub.

New Features:

Enhancements:

CI:

sourcery-ai[bot] commented 1 month ago

Reviewer's Guide by Sourcery

This pull request introduces a new NSIS installer for the ClinicianFOCUS Toolbox, which includes Speech2text, Local-LLM Containers, and FreeScribe client. It also adds an automated GitHub Actions workflow for building and releasing the installer. The changes involve updating the README, creating an NSIS installer script, and setting up a GitHub Actions workflow for automated releases.

User journey diagram for the new installer process

journey
    title User journey for installing ClinicianFOCUS Toolbox
    section Download and Install
      User: Download installer from GitHub releases
      User: Launch installer
      User: Follow installation steps
    section Post-Installation
      User: Optionally launch Local LLM
      User: Optionally launch Speech2Text
      User: Optionally launch FreeScribe

Architecture diagram for GitHub Actions workflow

graph TD;
    A[Push to GitHub with tag v*.*.*] -->|Triggers| B[Build Workflow];
    B --> C[Checkout this repo];
    B --> D[Checkout Local LLM];
    B --> E[Checkout Speech2Text Container];
    B --> F[Create Freescribe Directory];
    B --> G[Get latest release of FreeScribe];
    B --> H[Download latest release EXE];
    B --> I[Set up NSIS];
    B --> J[Create GitHub Release];
    B --> K[Upload Installer to Release];

File-Level Changes

Change Details Files
Created an NSIS installer script for ClinicianFOCUS Toolbox
  • Defined installer sections for Local-LLM-Container, Speech2Text-Container, and FreeScribe Client
  • Implemented custom pages for model selection and installation options
  • Added functionality to create .env file with user-selected options
  • Included checks for Docker and Docker Compose installation
install.nsi
Updated README to reflect new installation process
  • Changed project title to 'ClincianFOCUS Toolbox Installer'
  • Simplified installation instructions to use the new installer
  • Removed outdated information about manual installation steps
README.md
Added GitHub Actions workflow for automated releases
  • Created a workflow to build the Windows installer on new tag pushes
  • Implemented steps to checkout required repositories and download FreeScribe installer
  • Set up NSIS in the workflow environment
  • Configured automatic creation of GitHub releases with the built installer
.github/workflows/release_installer.yml
Removed obsolete files
  • Deleted install.bat script
  • Removed whisper-server/server.py
  • Deleted docker-compose.yml
install.bat
whisper-server/server.py
docker-compose.yml

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
ItsSimko commented 1 month ago

Note this is not the final version it's just a baseline functional one. I figured I would make a pr so you can begin to review while I work on the finer details.

Currently installs all the containers and Freescribe client, and very basic configuration for the local llm container to get it up and running

As it stands this installer should get you up and running

Todo: