From 09979252f794591b2854bf96cc27f5f2fbcb4189 Mon Sep 17 00:00:00 2001 From: Toutsu Date: Fri, 17 Apr 2026 13:35:49 +0300 Subject: [PATCH] fix: configure Data Protection to persist keys using a docker volume --- compose.yaml | 4 ++++ src/GmRelay.Web/Program.cs | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/compose.yaml b/compose.yaml index f854047..d68e2e2 100644 --- a/compose.yaml +++ b/compose.yaml @@ -45,8 +45,12 @@ services: - "ConnectionStrings__gmrelaydb=Host=127.0.0.1;Port=5432;Database=gmrelay_db;Username=gmrelay;Password=${POSTGRES_PASSWORD}" - "Telegram__BotToken=${TELEGRAM_BOT_TOKEN}" - "Telegram__BotUsername=${TELEGRAM_BOT_USERNAME}" + volumes: + - web_keys:/app/dataprotection-keys volumes: pgdata: external: true name: game_pgdata + web_keys: + name: gmrelay_web_keys diff --git a/src/GmRelay.Web/Program.cs b/src/GmRelay.Web/Program.cs index 35cd299..bb9f8fe 100644 --- a/src/GmRelay.Web/Program.cs +++ b/src/GmRelay.Web/Program.cs @@ -2,6 +2,7 @@ using GmRelay.Web.Components; using GmRelay.Web.Services; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.DataProtection; using System.Security.Claims; using Telegram.Bot; using Npgsql; @@ -11,6 +12,10 @@ var builder = WebApplication.CreateBuilder(args); // Add Aspire service defaults builder.AddServiceDefaults(); +// Add Data Protection +builder.Services.AddDataProtection() + .PersistKeysToFileSystem(new DirectoryInfo("/app/dataprotection-keys")); + // Add Npgsql builder.AddNpgsqlDataSource("gmrelaydb");