Skip to content
forked from SendFire/SendFire

A .NET Core Based Server Deployment and Command Execution System using Hangfire for its Scheduling Engine

License

Notifications You must be signed in to change notification settings

lulzzz/SendFire

 
 

Repository files navigation

SendFire

A .NET Core Based Server Deployment and Command Execution System that uses a fork of Hangfire for its Scheduling Engine

SendFire is two components:

  1. An ASP.NET Core 2.0 Administration Web Portal that allows for administration of servers in your network.
  2. 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.

Developer Information

SendFire Requires the following programs to be installed for local Development:

  1. SQL Server Express for the Hangfire / SendFire Job and Node information Storage. SQL Server Express 2017 or above is recommended.
  2. 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.
  3. .NET Core SDK, 2.1.2 or above recommended.
  4. Node.JS for NPM Package Management. If running on Windows we recommend Node Version Manager for Windows to simplify local node version control.
  5. 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:

  1. npm install will install all the local node packages necessary to run.
  2. dotnet restore will install all the local nuget packages necessary to run.
  3. dotnet watch run will build and run the local web aministration portal.
  4. Open your favorite browser and go to https://localhost:5000/ to view and interact with SendFire.

SQL Server Exrepss Setup for Development

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:

  1. Using SQL Management Studio, log in to the local .\sqlexpress installation as an administrator, right click on the server and select Properties.

Server Properties

  1. Go the the Security tab and verify or set authentication like this:

Mixed Mode Authentication

SendFire DB and User Setup for Development

  1. Setup a blank SendFire database in SQL Management Studio.

SendFire DB in SQL Management Studio

  1. Create a SendFire user using the following settings. The users default password is SendFire2017#!.

SendFire User Settings

SendFire User DB Access

SendFire DB Migrations for Development

  1. cd to SendFire.Common
  2. dotnet ef migrations add {MIGRATION-DESCRIPTION} -p .\ -o .\Data\Migrations
  3. 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

About

A .NET Core Based Server Deployment and Command Execution System using Hangfire for its Scheduling Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 74.8%
  • TypeScript 14.1%
  • JavaScript 5.7%
  • CSS 2.8%
  • HTML 2.6%