diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..fe1152b
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,30 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
+!**/.gitignore
+!.git/HEAD
+!.git/config
+!.git/packed-refs
+!.git/refs/heads/**
\ No newline at end of file
diff --git a/For Real Consulting/.gitea/workflows/build-and-push.yml b/For Real Consulting/.gitea/workflows/build-and-push.yml
new file mode 100644
index 0000000..349f13f
--- /dev/null
+++ b/For Real Consulting/.gitea/workflows/build-and-push.yml
@@ -0,0 +1,36 @@
+name: Build and Push Docker Image
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ build-and-push:
+ runs-on: ubuntu-latest
+ container:
+ image: catthehacker/ubuntu:act-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Generate datetime tag
+ id: vars
+ run: echo "tag=$(date +'%Y%m%d%H%M')" >> $GITHUB_OUTPUT
+
+ - name: Log in to Gitea Registry
+ uses: docker/login-action@v3
+ with:
+ registry: git.arnemoerman.be
+ username: arne
+ password: ${{ secrets.PAT_TOKEN }}
+
+ - name: Build and push
+ uses: docker/build-push-action@v5
+ with:
+ context: ./For Real Consulting
+ file: ./For Real Consulting/Dockerfile
+ push: true
+ tags: |
+ git.arnemoerman.be/arne/for-real-consulting:latest
+ git.arnemoerman.be/arne/for-real-consulting:${{ steps.vars.outputs.tag }}
diff --git a/For Real Consulting/Dockerfile b/For Real Consulting/Dockerfile
new file mode 100644
index 0000000..57108f4
--- /dev/null
+++ b/For Real Consulting/Dockerfile
@@ -0,0 +1,17 @@
+FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
+WORKDIR /src
+
+COPY ["For Real Consulting/For Real Consulting/For Real Consulting.csproj", "For Real Consulting/For Real Consulting/"]
+RUN dotnet restore "For Real Consulting/For Real Consulting/For Real Consulting.csproj"
+
+COPY . .
+WORKDIR "/src/For Real Consulting/For Real Consulting"
+RUN dotnet publish "For Real Consulting.csproj" -c Release -o /app/publish /p:UseAppHost=false
+
+FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
+WORKDIR /app
+COPY --from=build /app/publish .
+
+EXPOSE 8080
+ENV ASPNETCORE_URLS=http://+:8080
+ENTRYPOINT ["dotnet", "For_Real_Consulting.dll"]
diff --git a/For Real Consulting/For Real Consulting/For Real Consulting.csproj b/For Real Consulting/For Real Consulting/For Real Consulting.csproj
index 5320cf9..b6f9b0d 100644
--- a/For Real Consulting/For Real Consulting/For Real Consulting.csproj
+++ b/For Real Consulting/For Real Consulting/For Real Consulting.csproj
@@ -8,6 +8,8 @@
For_Real_Consulting
$(AssemblyName.Replace(' ', '_'))
true
+ Linux
+ ..
@@ -17,6 +19,7 @@
+
diff --git a/For Real Consulting/For Real Consulting/Properties/launchSettings.json b/For Real Consulting/For Real Consulting/Properties/launchSettings.json
index 686c6bb..a0d04d6 100644
--- a/For Real Consulting/For Real Consulting/Properties/launchSettings.json
+++ b/For Real Consulting/For Real Consulting/Properties/launchSettings.json
@@ -1,25 +1,36 @@
{
- "$schema": "https://json.schemastore.org/launchsettings.json",
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
- "applicationUrl": "http://for-real-consulting.dev.localhost:5211",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
},
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
- "applicationUrl": "https://for-real-consulting.dev.localhost:7106;http://for-real-consulting.dev.localhost:5211",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
+ "dotnetRunMessages": true,
+ "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
+ "applicationUrl": "http://for-real-consulting.dev.localhost:5211"
+ },
+ "https": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "dotnetRunMessages": true,
+ "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
+ "applicationUrl": "https://for-real-consulting.dev.localhost:7106;http://for-real-consulting.dev.localhost:5211"
+ },
+ "Container (Dockerfile)": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
+ "environmentVariables": {
+ "ASPNETCORE_HTTPS_PORTS": "8081",
+ "ASPNETCORE_HTTP_PORTS": "8080"
+ },
+ "publishAllPorts": true,
+ "useSSL": true
}
- }
+ },
+ "$schema": "https://json.schemastore.org/launchsettings.json"
+}
\ No newline at end of file