Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
DmitryGolubenkov committed Dec 12, 2022
2 parents b276f8b + 1e1a7c5 commit 7c9c620
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) [year] [fullname]
Copyright (c) 2022 Dmitry Golubenkov

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
40 changes: 39 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,39 @@
# SharpDockerizer
# SharpDockerizer

SharpDockerizer can automatically build a Dockerfile for your ASP.NET projects using solution data. Simply choose a solution on your PC, choose a project, add required data such as NuGet sources and ports to expose and click `Generate Dockerfile`, and your Dockerfile is ready!

## Preview
![SharpDockerizer Main UI Screenshot](https://github.com/DmitryGolubenkov/SharpDockerizer/blob/master/img/main-ui.jpg)

## Features
- Crossplatform (Windows, Linux, MacOS);
- Load .NET solution and parse included projects;
- Auto-parse project references;
- Generate Dockerfiles for .NET projects;
- Add NuGet repos that are required to build the project (No authorization / basic auth with password passed as docker build argument)

## Installation
This application is still under development, so no builds are avaliable. You will have to build it from source.

### Requirements:
- Git
- .NET 7 SDK
- .NET 7 runtime
### Steps
1. Clone the repository.
2. Open terminal in `src/SharpDockerizer.AvaloniaUI`.
3. Use `dotnet publish --configuration Release` to build the application.
4. Launch application. Built application will be avaliable in `src/SharpDockerizer.AvaloniaUI/bin/Release/net7.0/publish` folder, executable is named `SharpDockerizer.AvaloniaUI.exe`.

From here you can rename `publish` folder and copy it to preferred location.

###
## License
SharpDockerizer is distributed under the [MIT](https://github.com/DmitryGolubenkov/SharpDockerizer/blob/master/LICENSE.txt) license.

# Technical details
SharpDockerizer is built using .NET 7 and is split into several parts:

- `SharpDockerizer.AvaloniaUI`: Avalonia application with MVVM architecture that uses `Material.Avalonia` styling. Application frontend. MVVM framework is `CommunityToolkit.Mvvm`
- `SharpDockerizer.AppLayer`: Contains contracts, services, generators, etc. that are used by GUI to work.
- `SharpDockerizer.Core`: Contains domain models. Doesn't have any dependencies.

0 comments on commit 7c9c620

Please sign in to comment.