successful docker build

This commit is contained in:
2023-12-02 10:08:05 -06:00
parent 584db6a607
commit ddb4756f4e
6 changed files with 67 additions and 25 deletions

View File

@@ -1,24 +1,43 @@
using Microsoft.AspNetCore.Mvc;
using Amazon.S3;
using Microsoft.AspNetCore.Mvc;
using Microsoft.VisualBasic;
using Unbinder.Services;
namespace Unbinder.Controllers
{
public class HomeController : Controller
public class HomeController(ILogger<HomeController> logger) : Controller
{
public async Task<IActionResult> Index()
{
var objects = await S3Service.ListObjects();
if (objects != null)
try
{
foreach (var entry in objects.S3Objects)
var objects = await S3Service.ListObjects();
if (objects != null)
{
Console.WriteLine(entry.Key);
string keys = "";
foreach (var entry in objects.S3Objects)
{
keys += entry.Key + ", ";
}
if (keys != "") logger.Log(LogLevel.Information, $"Found keys: {keys ?? "(none)"}");
}
else
{
logger.Log(LogLevel.Debug, "Did not find results in S3");
}
}
else
catch (Exception ex)
{
Console.WriteLine("Did not find results in S3");
if (ex is AmazonS3Exception s3Exception)
{
logger.Log(LogLevel.Warning, s3Exception.ErrorCode);
logger.Log(LogLevel.Warning, s3Exception.Message);
}
else
logger.Log(LogLevel.Error, ex.Message);
}
return View();

View File

@@ -2,6 +2,7 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
ENV CLIENT_PORT=${CLIENT_PORT:-8080}
ENV AWS_S3_URL=$AWS_S3_URL
ENV AWS_ACCESS_KEY=$AWS_ACCESS_KEY
ENV AWS_SECRET_KEY=$AWS_SECRET_KEY
@@ -15,4 +16,6 @@ RUN dotnet publish -o out
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app/out .
EXPOSE $CLIENT_PORT
ENTRYPOINT ["./Unbinder"]

View File

@@ -6,11 +6,5 @@ ENV ACCEPT_EULA=Y
ENV MSSQL_PID Express
ENV SA_PASSWORD=$DB_PASSWORD
# WORKDIR /db
# COPY ../DB/SQL/create_database.sql .
# run the sql script
# CMD /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P fhhwergaiuh12480y53 -d master -i create_database.sql
# run the command to start sql server
CMD /opt/mssql/bin/sqlservr

View File

@@ -17,6 +17,8 @@ EnvironmentLoader.Load(builder);
// // By default, all incoming requests will be authorized according to the default policy.
// options.FallbackPolicy = options.DefaultPolicy);
// configure database
SqlConnectionStringBuilder connBuilder = new()
{
ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection"),
@@ -54,6 +56,13 @@ builder.Services.AddServerSideBlazor();
var app = builder.Build();
// apply most recent migration to db
using (IServiceScope scope = app.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<UnbinderDbContext>();
db.Database.Migrate();
}
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{

View File

@@ -7,7 +7,7 @@
"CallbackPath": "/signin-oidc"
},
"ConnectionStrings": {
"DefaultConnection": "Server=db;Database=master;User=sa;Encrypt=False;TrustServerCertificate=true"
"DefaultConnection": "Server=unbinder-db;Database=master;User ID=sa;Encrypt=False"
},
"Logging": {
"LogLevel": {

View File

@@ -1,31 +1,48 @@
version: '3.8'
services:
client:
unbinder-client:
depends_on:
- db
- unbinder-db
container_name: unbinder-client
build:
context: .
dockerfile: ./Docker/DOTNET.Dockerfile
ports:
- 80:80
- ${CLIENT_PORT}:80
- 8080:8080
environment:
CLIENT_PORT: /run/secrets/CLIENT_PORT
SA_PASSWORD: /run/secrets/SA_PASSWORD
AWS_S3_URL: /run/secrets/AWS_S3_URL
AWS_ACCESS_KEY: /run/secrets/AWS_ACCESS_KEY
AWS_SECRET_KEY: /run/secrets/AWS_SECRET_KEY
AWS_BUCKET_NAME: /run/secrets/AWS_BUCKET_NAME
db:
image: mcr.microsoft.com/mssql/server:2022-latest
volumes:
- ./db_data:/var/opt/mssql/data
networks:
database:
unbinder-db:
container_name: unbinder-db
build:
context: .
dockerfile: ./Docker/MSSQL.Dockerfile
ports:
- 1433:1433
environment:
SA_PASSWORD: /run/secrets/SA_PASSWORD
ACCEPT_EULA: "Y"
volumes:
- ./db_data:/var/opt/mssql/data
networks:
database:
aliases:
- unbinder-db
networks:
database:
driver: bridge
secrets:
CLIENT_PORT:
file: ./secrets/CLIENT_PORT.txt
AWS_S3_URL:
file: ./secrets/AWS_S3_URL.txt
AWS_ACCESS_KEY:
@@ -38,4 +55,4 @@ secrets:
file: ./secrets/SA_PASSWORD.txt
volumes:
db_data:
db_data: