diff --git a/compose.yml b/compose.yml index f28a259..fdaa6b5 100644 --- a/compose.yml +++ b/compose.yml @@ -7,6 +7,7 @@ services: env_file: ".env" volumes: - uploads:/app/uploads + - ./keys:/app/keys depends_on: postgres: condition: service_healthy diff --git a/server/config/federation.js b/server/config/federation.js index 810daca..afde7ca 100644 --- a/server/config/federation.js +++ b/server/config/federation.js @@ -13,7 +13,11 @@ let publicKeyPem = ''; // Load or generate Ed25519 keys if (FEDERATION_DOMAIN) { - const keyPath = path.join(__dirname, 'federation_key.pem'); + const keyPath = process.env.FEDERATION_KEY_PATH || '/app/keys/federation_key.pem'; + const keyDir = path.dirname(keyPath); + if (!fs.existsSync(keyDir)) { + fs.mkdirSync(keyDir, { recursive: true }); + } if (!privateKeyPem && fs.existsSync(keyPath)) { privateKeyPem = fs.readFileSync(keyPath, 'utf8');