diff --git a/CleanArchitecture/CleanArchitecture.API/appsettings.Production.json b/CleanArchitecture/CleanArchitecture.API/appsettings.Production.json new file mode 100644 index 0000000..6442528 --- /dev/null +++ b/CleanArchitecture/CleanArchitecture.API/appsettings.Production.json @@ -0,0 +1,24 @@ +{ + "ConnectionStrings": { + "ConnectionString": "server=mariadb;database=CleanArchitecture;user=root;password=securePassword", + "IdentityConnectionString": "server=mariadb;database=CleanArchitecture.Security;user=root;password=securePassword" + }, + "EmailSettings": { + "FromAddress": "alejandro@asarmiento.es", + "ApiKey": "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", + "FromName": "Alejandro Sarmiento" + }, + "JwtSettings": { + "Key": "CjF*Hp$pHvsx$%wsSyfpMevUrzj@%TJv3ZjNPk34daE7N%3KjrjCnv2V76uRY8bCtH5aduTmMwdiuh%QP3iYEh$Fy*XDzz7S&pFyyZVDLDwTdFDxrP9m#A@MBgV6oNCf", + "Issuer": "CleanArchitectureAlejandroSarmiento", + "Audience": "CleanArchitectureUsers", + "DurationInMinutes": 360 + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/CleanArchitecture/CleanArchitecture.API/Dockerfile b/CleanArchitecture/Dockerfile similarity index 78% rename from CleanArchitecture/CleanArchitecture.API/Dockerfile rename to CleanArchitecture/Dockerfile index 3d016a6..2aff743 100644 --- a/CleanArchitecture/CleanArchitecture.API/Dockerfile +++ b/CleanArchitecture/Dockerfile @@ -5,7 +5,13 @@ USER app WORKDIR /app EXPOSE 80 +ARG ENVIRONMENT Production +ENV ASPNETCORE_ENVIRONMENT Production +ENV ASPNETCORE_HTTP_PORTS 80 + + FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build + ARG BUILD_CONFIGURATION=Release WORKDIR /src COPY ["CleanArchitecture.API/CleanArchitecture.API.csproj", "CleanArchitecture.API/"] @@ -16,11 +22,10 @@ COPY ["CleanArchitecture.Identity/CleanArchitecture.Identity.csproj", "CleanArch RUN dotnet restore "./CleanArchitecture.API/CleanArchitecture.API.csproj" COPY . . WORKDIR "/src/CleanArchitecture.API" -RUN dotnet build "./CleanArchitecture.API.csproj" -c $BUILD_CONFIGURATION -o /app/build +RUN dotnet build "./CleanArchitecture.API.csproj" -c Release -o /app/build FROM build AS publish -ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./CleanArchitecture.API.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false +RUN dotnet publish "./CleanArchitecture.API.csproj" -c Release -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app diff --git a/CleanArchitecture/docker-compose.yml b/CleanArchitecture/docker-compose.yml new file mode 100644 index 0000000..e7cd09f --- /dev/null +++ b/CleanArchitecture/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3.8' + +services: + mariadb: + container_name: mariadb + image: mariadb + environment: + - MYSQL_ROOT_PASSWORD=securePassword + volumes: + - mariadb-data:/var/lib/mysql + + myapp: + container_name: app + build: + context: . + dockerfile: Dockerfile + ports: + - "15500:80" + environment: + - ASPNETCORE_ENVIRONMENT = Production + +volumes: + mariadb-data: + driver: local