add docker config

This commit is contained in:
Aaron Po
2026-02-03 23:02:07 -05:00
parent 2ae99d5224
commit 9bfbed9b92
13 changed files with 257 additions and 40 deletions

55
docker-compose.prod.yaml Normal file
View File

@@ -0,0 +1,55 @@
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
platform: linux/amd64
container_name: prod-env-sqlserver
environment:
ACCEPT_EULA: "Y"
SA_PASSWORD: "${SA_PASSWORD}"
MSSQL_PID: "Developer"
volumes:
- sqlserverdata:/var/opt/mssql
healthcheck:
test: ["CMD-SHELL", "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P '${SA_PASSWORD}' -C -Q 'SELECT 1' || exit 1"]
interval: 10s
timeout: 5s
retries: 12
start_period: 30s
networks:
- prodnet
api.core:
image: api.core
container_name: prod-env-api-core
depends_on:
sqlserver:
condition: service_healthy
build:
context: ./src/Core
dockerfile: API/API.Core/Dockerfile
args:
BUILD_CONFIGURATION: Release
APP_UID: 1000
ports:
- "8080:8080"
- "8081:8081"
environment:
ASPNETCORE_ENVIRONMENT: "Production"
ASPNETCORE_URLS: "http://0.0.0.0:8080"
DOTNET_RUNNING_IN_CONTAINER: "true"
DB_CONNECTION_STRING: "${DB_CONNECTION_STRING}"
restart: unless-stopped
networks:
- prodnet
volumes:
- nuget-cache:/root/.nuget/packages
volumes:
sqlserverdata:
driver: local
nuget-cache:
driver: local
networks:
prodnet:
driver: bridge