Added docker files
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
|||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
|
||||||
|
WORKDIR /app
|
||||||
|
EXPOSE 80
|
||||||
|
EXPOSE 443
|
||||||
|
|
||||||
|
FROM node:22-bookworm-slim AS node
|
||||||
|
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
||||||
|
ARG TARGETARCH
|
||||||
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
||||||
|
NUGET_XMLDOC_MODE=skip
|
||||||
|
WORKDIR /app_source
|
||||||
|
|
||||||
|
COPY --from=node /usr/local/bin/node /usr/local/bin/node
|
||||||
|
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
|
||||||
|
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
|
||||||
|
&& npm install -g npm@latest
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN dotnet restore "PostFundManagement.slnx"
|
||||||
|
|
||||||
|
WORKDIR "/app_source/PostFundManagement.Api"
|
||||||
|
RUN dotnet build "PostFundManagement.Api.csproj" -c Release -o /app/build
|
||||||
|
|
||||||
|
FROM build AS publish
|
||||||
|
RUN dotnet publish "PostFundManagement.Api.csproj" -c Release --no-restore -o /app/publish
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
|
||||||
|
ENTRYPOINT ["dotnet", "PostFundManagement.Api.dll"]
|
||||||
@@ -31,5 +31,15 @@
|
|||||||
"Microsoft.AspNetCore": "Warning"
|
"Microsoft.AspNetCore": "Warning"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"EmailProcessorCron": "0 */5 * * * ?",
|
||||||
|
"Email": {
|
||||||
|
"SmtpServer": "smtp.example.com",
|
||||||
|
"SmtpPort": 587,
|
||||||
|
"SenderEmail": "noreply@example.com",
|
||||||
|
"SenderName": "Example"
|
||||||
|
},
|
||||||
|
"HasherSettings": {
|
||||||
|
"MinHashLength": 11
|
||||||
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
services:
|
||||||
|
pfm.api:
|
||||||
|
image: pfm-api
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
network: host
|
||||||
|
container_name: pfm-api
|
||||||
|
ports:
|
||||||
|
- "8060:8080"
|
||||||
|
environment:
|
||||||
|
- ASPNETCORE_ENVIRONMENT=${ENVIRONMENT:-Development}
|
||||||
|
- ForwardedHeadersConfiguration__Enabled=true
|
||||||
|
- ForwardedHeadersConfiguration__AllowAll=true
|
||||||
|
- ForwardedHeadersConfiguration__ForwardLimit=1
|
||||||
|
|
||||||
|
# Postgres Database Overrides
|
||||||
|
- ConnectionStrings__PfmDatabase=Server=${POSTGRES_HOST:-192.168.1.170};Port=${POSTGRES_PORT:-5432};Database=${POSTGRES_DB:-pfm};User Id=${POSTGRES_USER:-pfm-user};Password=${POSTGRES_PASSWORD};
|
||||||
|
|
||||||
|
# Garage S3 Settings
|
||||||
|
- GeneralS3Settings__ServiceUrl=${GENERAL_S3_SERVICE_URL}
|
||||||
|
- GeneralS3Settings__Region=${GENERAL_S3_REGION:-garage}
|
||||||
|
- GeneralS3Settings__BucketName=${GENERAL_S3_BUCKET_NAME}
|
||||||
|
- GeneralS3Settings__CdnBaseUrl=${GENERAL_S3_CDN_BASE_URL}
|
||||||
|
|
||||||
|
- ContractS3Settings__ServiceUrl=${CONTRACT_S3_SERVICE_URL}
|
||||||
|
- ContractS3Settings__Region=${CONTRACT_S3_REGION:-garage}
|
||||||
|
- ContractS3Settings__BucketName=${CONTRACT_S3_BUCKET_NAME}
|
||||||
|
- ContractS3Settings__CdnBaseUrl=${CONTRACT_S3_CDN_BASE_URL}
|
||||||
|
|
||||||
|
- EvidenceS3Settings__ServiceUrl=${EVIDENCE_S3_SERVICE_URL}
|
||||||
|
- EvidenceS3Settings__Region=${EVIDENCE_S3_REGION:-garage}
|
||||||
|
- EvidenceS3Settings__BucketName=${EVIDENCE_S3_BUCKET_NAME}
|
||||||
|
- EvidenceS3Settings__CdnBaseUrl=${EVIDENCE_S3_CDN_BASE_URL}
|
||||||
|
|
||||||
|
# HashIds overrides
|
||||||
|
- HasherSettings__MinHashLength=${HASHER_MIN_HASH_LENGTH}
|
||||||
|
- HasherSettings__Salt=${HASHER_SALT}
|
||||||
|
|
||||||
|
# Skoruba Duende Security Overrides
|
||||||
|
- SecuritySettings__Authority=${SECURITY_AUTHORITY}
|
||||||
|
- SecuritySettings__Audience=${SECURITY_AUDIENCE}
|
||||||
|
- SecuritySettings__ClientId=${SECURITY_CLIENT_ID}
|
||||||
|
- SecuritySettings__ClientSecret=${SECURITY_CLIENT_SECRET}
|
||||||
|
|
||||||
|
# Data Protection Overrides
|
||||||
|
- DataProtection__Certificate=${DATA_PROTECTION_CERTIFICATE}
|
||||||
|
- DataProtection__Password=${DATA_PROTECTION_CERTIFICATE_PASSWORD}
|
||||||
|
|
||||||
|
# Monitoring Overrides
|
||||||
|
- Monitoring__Address=${MONITORING_ADDRESS}
|
||||||
|
- Monitoring__ServiceName=${MONITORING_SERVICE_NAME}
|
||||||
|
- Monitoring__ApiKey=${MONITORING_API_KEY}
|
||||||
|
|
||||||
|
# Email Processor Overrides
|
||||||
|
- EmailProcessorCron=${EMAIL_PROCESSOR_CRON}
|
||||||
|
- Email__Credentials__Password=${EMAIL_CREDENTIALS_PASSWORD}
|
||||||
|
- Email__Credentials__Username=${EMAIL_CREDENTIALS_USERNAME}
|
||||||
|
- Email__SmtpServer=${EMAIL_SMTP_SERVER}
|
||||||
|
- Email__SmtpPort=${EMAIL_SMTP_PORT}
|
||||||
Reference in New Issue
Block a user