From d01ae59dc03381de4f20dc20884184982ee4a5d3 Mon Sep 17 00:00:00 2001 From: Ross Miller Date: Fri, 6 Mar 2026 12:04:06 +0000 Subject: [PATCH] WIP --- BudgetApp/budgetapp.db-shm | Bin 32768 -> 32768 bytes BudgetApp/budgetapp.db-wal | Bin 49472 -> 57712 bytes Dockerfile | 24 +++++++++++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/BudgetApp/budgetapp.db-shm b/BudgetApp/budgetapp.db-shm index 3d42b32354f62425d6779755ece45d979afc10ad..ae84a42f607699139bd8dfc3135aa3bdb1a04441 100644 GIT binary patch delta 159 zcmZo@U}|V!s+V}A%K!pQK+MR%AixKtHG$YgO(4y({mV@g=8zxzCmK3%+;31hyQ=C3 ssp^47fdMa&{Eq~n!b}W26C2GZF5uX>!^U;;A6E%xUIxC62VYtO02Tc($p8QV delta 155 zcmZo@U}|V!s+V}A%K!pQK+MR%Aix8pHGw#B)!qBT6RYQ&Fo*ouKhe-Z=;NZhC%is> oAXPokC@=t-`yUBFg_#(*CN`RHJYeHG@dC%>KdurR552Jj0NvF!5&!@I diff --git a/BudgetApp/budgetapp.db-wal b/BudgetApp/budgetapp.db-wal index 2330d1f3e549090088a418fed97acc4c89a01171..8e2fd71a3c77d5fc0eeaa0da1ad9aba56ea644d7 100644 GIT binary patch delta 96 zcmX@m#Qfn9^9F~5lQRqiI8r}76V83}Pkgh+!ngd|rp8u=7J6o8rj{0lmf8jeRt5$P j3=B*_tZBj=@?-x*Lx(g0HJ6)T+ATLbY<$Zvj70+gdhs5U delta 9 Qcmexxi1|Ph^9F~502u`YtN;K2 diff --git a/Dockerfile b/Dockerfile index 279bdaa..6cc1625 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,8 @@ FROM mcr.microsoft.com/dotnet/aspnet:10.0-preview AS base -RUN apt-get update && apt-get upgrade -y && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get upgrade -y && apt-get install -y openssl && rm -rf /var/lib/apt/lists/* WORKDIR /app EXPOSE 8080 +EXPOSE 8443 FROM mcr.microsoft.com/dotnet/sdk:10.0-preview AS build WORKDIR /src @@ -31,6 +32,27 @@ LABEL org.opencontainers.image.title="Budgeteer" \ # Ensure the SQLite data directory exists and is writable RUN mkdir -p /app/data +# Generate a self-signed TLS certificate for HTTPS +RUN mkdir -p /app/certs && \ + openssl req -x509 -newkey rsa:4096 \ + -keyout /app/certs/key.pem \ + -out /app/certs/cert.pem \ + -days 3650 \ + -nodes \ + -subj "/C=GB/ST=England/O=Budgeteer/CN=localhost" && \ + openssl pkcs12 -export \ + -out /app/certs/cert.pfx \ + -inkey /app/certs/key.pem \ + -in /app/certs/cert.pem \ + -passout pass: && \ + rm /app/certs/key.pem /app/certs/cert.pem + +# Serve on both HTTP and HTTPS +ENV ASPNETCORE_HTTP_PORTS=8181 +ENV ASPNETCORE_HTTPS_PORTS=8282 +ENV ASPNETCORE_Kestrel__Certificates__Default__Path=/app/certs/cert.pfx +ENV ASPNETCORE_Kestrel__Certificates__Default__Password="" + # Store the database in the volume-mountable /app/data directory ENV ConnectionStrings__DefaultConnection="Data Source=/app/data/budgetapp.db"