diff --git a/src/Services/id-portal/.dockerignore b/src/Services/id-portal/.dockerignore
new file mode 100644
index 00000000..bdca33b4
--- /dev/null
+++ b/src/Services/id-portal/.dockerignore
@@ -0,0 +1,25 @@
+**/.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
\ No newline at end of file
diff --git a/src/Services/id-portal/Dockerfile b/src/Services/id-portal/Dockerfile
new file mode 100644
index 00000000..b68a07b8
--- /dev/null
+++ b/src/Services/id-portal/Dockerfile
@@ -0,0 +1,21 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+COPY ["src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj", "src/O2Bionics.Services.IdPortal/"]
+RUN dotnet restore "src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj"
+COPY . .
+WORKDIR "/src/src/O2Bionics.Services.IdPortal"
+RUN dotnet build "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/publish /p:UseAppHost=false
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2Bionics.Services.IdPortal.dll"]
diff --git a/src/Services/id-portal/O2Bionics.Services.IdPortal.sln b/src/Services/id-portal/O2Bionics.Services.IdPortal.sln
index 7d363a6d..77539f18 100644
--- a/src/Services/id-portal/O2Bionics.Services.IdPortal.sln
+++ b/src/Services/id-portal/O2Bionics.Services.IdPortal.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "O2Bionics.Services.IdPortal", "src\O2Bionics.Services.IdPortal\O2Bionics.Services.IdPortal.csproj", "{1657073E-9EE7-43D3-A3FD-A32025E57488}"
EndProject
+Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
{1657073E-9EE7-43D3-A3FD-A32025E57488}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1657073E-9EE7-43D3-A3FD-A32025E57488}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1657073E-9EE7-43D3-A3FD-A32025E57488}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/Services/id-portal/docker-compose.dcproj b/src/Services/id-portal/docker-compose.dcproj
new file mode 100644
index 00000000..d0c089a6
--- /dev/null
+++ b/src/Services/id-portal/docker-compose.dcproj
@@ -0,0 +1,18 @@
+
+
+
+ 2.1
+ Linux
+ {0F7BEA3A-BD1E-4BE3-BBBB-CCD0100D10A5}
+ True
+ {Scheme}://localhost:{ServicePort}
+ o2bionics.services.idportal
+
+
+
+ docker-compose.yml
+
+
+
+
+
diff --git a/src/Services/id-portal/docker-compose.override.yml b/src/Services/id-portal/docker-compose.override.yml
new file mode 100644
index 00000000..b0ca336a
--- /dev/null
+++ b/src/Services/id-portal/docker-compose.override.yml
@@ -0,0 +1,8 @@
+version: '3.4'
+
+services:
+ o2bionics.services.idportal:
+ environment:
+ - ASPNETCORE_ENVIRONMENT=Development
+ ports:
+ - "80"
diff --git a/src/Services/id-portal/docker-compose.yml b/src/Services/id-portal/docker-compose.yml
new file mode 100644
index 00000000..ed53c4a7
--- /dev/null
+++ b/src/Services/id-portal/docker-compose.yml
@@ -0,0 +1,8 @@
+version: '3.4'
+
+services:
+ o2bionics.services.idportal:
+ image: ${DOCKER_REGISTRY-}o2bionicsservices
+ build:
+ context: .
+ dockerfile: src/O2Bionics.Services.IdPortal/Dockerfile
diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile
new file mode 100644
index 00000000..b68a07b8
--- /dev/null
+++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Dockerfile
@@ -0,0 +1,21 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 80
+
+FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
+WORKDIR /src
+COPY ["src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj", "src/O2Bionics.Services.IdPortal/"]
+RUN dotnet restore "src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj"
+COPY . .
+WORKDIR "/src/src/O2Bionics.Services.IdPortal"
+RUN dotnet build "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "O2Bionics.Services.IdPortal.csproj" -c Release -o /app/publish /p:UseAppHost=false
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "O2Bionics.Services.IdPortal.dll"]
diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj
index bfb07bc7..1afb03b1 100644
--- a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj
+++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/O2Bionics.Services.IdPortal.csproj
@@ -4,6 +4,7 @@
net6.0
enable
enable
+ ../../docker-compose.dcproj
diff --git a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json
index ff6d3649..fb9ad9c4 100644
--- a/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json
+++ b/src/Services/id-portal/src/O2Bionics.Services.IdPortal/Properties/launchSettings.json
@@ -1,28 +1,27 @@
-{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:16044",
- "sslPort": 0
- }
- },
- "profiles": {
- "O2Bionics.Services.IdPortal": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5160",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- }
- }
-}
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:16044",
+ "sslPort": 0
+ }
+ },
+ "profiles": {
+ "O2Bionics.Services.IdPortal": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5160",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
\ No newline at end of file