A distributed take on media management.
Safir uses Azure DevOps for continuous integration/continuous deployment.
The project is located at https://dev.azure.com/unmango/Safir.
Builds can be found here.
The YAML for the pipeline is located in azure-pipelines.yml
.
The pipeline is currently very much a work-in-progress. I plan to have a multi-stage pipeline to build and deploy straight from the versioned pipeline here, and avoid Azure DevOps releases UI.
Platform | Master | Release X |
---|---|---|
All | No release builds yet |
Safir is built using a variety of technologies, primarily .NET and Angular. Docker images will likely be available at some point. Other technologies may come and go as I experiment with them.
The server side of Safir is built using .NET Core 3.1. The SDK can be downloaded at https://dotnet.microsoft.com/download.
You can check the installed version with
dotnet --version
3.1.100
or
dotnet --list-sdks
...
3.0.100 [C:\\Program Files\\dotnet\\sdk]
3.1.100 [C:\\Program Files\\dotnet\\sdk]
...
To build the entire solution, you can open Safir.sln
in your favorite IDE and build from there.
Or cd
into the directory containing Safir.sln
and run
dotnet build
Currently, client apps are built using Angular and Electron. The fastest way to get up and running with the client apps is to install the lastest version of Node.
You can check the installed version with
node --version
v12.9.1
npm --version
6.10.2
To build either of the projects, cd
into the directory of the project you intend to build that contains the package.json
.
Then install dependencies with
npm install .
To build and run the Angular web app:
cd src/UI/Safir.Angular
npm run build
# Or to build and run
npm run start
To build and run the electron desktop app:
cd src/UI/Safir.Electron
npm run start:electron
GNU General Public License v3.0 or later
See COPYING to see the full text.