A .NET Core Based Server Deployment and Command Execution System that uses a fork of Hangfire for its Scheduling Engine
SendFire is two components:
- An ASP.NET Core 2.0 Administration Web Portal that allows for administration of servers in your network.
- A .NET Core 2.0 Service Agent which runs locally on all servers that you wish to become nodes on your network that can have commands sent to them by the SendFire Administration Portal.
SendFire Requires the following programs to be installed for local Development:
- SQL Server Express for the Hangfire / SendFire Job and Node information Storage. SQL Server Express 2017 or above is recommended.
- SQL Management Studio should also be installed to manage SQL Server Express and also to view and interact with the SendFire database directly. Version 17.4 or above is recommended.
- .NET Core SDK, 2.1.2 or above recommended.
- Node.JS for NPM Package Management. If running on Windows we recommend Node Version Manager for Windows to simplify local node version control.
- Visual Studio 2017 Community or Visual Studio Code is Recommended as a code editor.
To run a local developement environment of Sendfire in Visual Studio Code, open a terminal window and run the following:
npm install
will install all the local node packages necessary to run.dotnet restore
will install all the local nuget packages necessary to run.dotnet watch run
will build and run the local web aministration portal.- Open your favorite browser and go to https://localhost:5000/ to view and interact with SendFire.
The connection string in SendFire expects a SQL Server Express installation using the default installation location on the local host .\sqlexpress
. Mixed mode authentication is also required as the Web Application will attempt to login using the SQL Server user created below. If you don't want to use this setup you will need to modify connection string in your local copy of the appsettings.json according to whatever SQL Server and authentication setup you want to use.
If you intend to use the default authentication setup in the connection string, during installtion of SQL Server Express you must select a custom installation in order to allow mixed mode authentication, or you can allow it after the fact by doing the following:
- Using SQL Management Studio, log in to the local
.\sqlexpress
installation as an administrator, right click on the server and select Properties.
- Go the the Security tab and verify or set authentication like this:
- Setup a blank SendFire database in SQL Management Studio.
- Create a SendFire user using the following settings. The users default password is
SendFire2017#!
.
- cd to SendFire.Common
- dotnet ef migrations add {MIGRATION-DESCRIPTION} -p .\ -o .\Data\Migrations
- dotnet ef database update (This command assumes you have appsettings.json with a SendFireDB ConnectionString to your database) TODO: Figure out how to read this from the startup project. The database update command doesn't take parameters