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"
|
||||
}
|
||||
},
|
||||
"EmailProcessorCron": "0 */5 * * * ?",
|
||||
"Email": {
|
||||
"SmtpServer": "smtp.example.com",
|
||||
"SmtpPort": 587,
|
||||
"SenderEmail": "noreply@example.com",
|
||||
"SenderName": "Example"
|
||||
},
|
||||
"HasherSettings": {
|
||||
"MinHashLength": 11
|
||||
},
|
||||
"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