[PR #24309] [CLOSED] feat(server): add storage-at-rest encryption columns and official migration #17809

Closed
opened 2026-02-05 16:27:54 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/24309
Author: @wyomarus
Created: 12/1/2025
Status: Closed

Base: mainHead: storage-encryption


📝 Commits (1)

  • 07d2d7b feat(server): add storage-at-rest encryption columns and official migration

📊 Changes

15 files changed (+796 additions, -160 deletions)

View changed files

📝 .vscode/tasks.json (+95 -79)
docs/architecture/storage-encryption.md (+109 -0)
server/migrations/20251130_storage_encryption.sql (+63 -0)
📝 server/src/config.ts (+25 -12)
📝 server/src/dtos/system-config.dto.ts (+66 -26)
📝 server/src/repositories/crypto.repository.ts (+24 -1)
📝 server/src/repositories/storage.repository.ts (+24 -1)
server/src/schema/migrations/1764556323636-storage_encryption_columns.ts (+43 -0)
📝 server/src/schema/tables/asset-file.table.ts (+28 -9)
📝 server/src/schema/tables/asset.table.ts (+34 -11)
📝 server/src/services/asset-media.service.spec.ts (+27 -4)
📝 server/src/services/asset-media.service.ts (+92 -17)
📝 server/src/utils/config.ts (+24 -0)
server/src/utils/encryption.ts (+138 -0)
📝 server/test/repositories/crypto.repository.mock.ts (+4 -0)

📄 Description

  • Add columns on asset/asset_file: encrypted, encryptionAlgo, encryptionIv, encryptedDek, encryptionTag, encryptionVersion; asset also plaintextChecksum
  • Place TS migration under server/src/schema/migrations; provide down migration
  • Validate against full schema via migrations.js on Postgres 17 + pgvector
  • All server tests pass (93 files); remove temporary baseline stub SQL

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/24309 **Author:** [@wyomarus](https://github.com/wyomarus) **Created:** 12/1/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `storage-encryption` --- ### 📝 Commits (1) - [`07d2d7b`](https://github.com/immich-app/immich/commit/07d2d7bc21ea11826b9910060a496d5fa7aa8b27) feat(server): add storage-at-rest encryption columns and official migration ### 📊 Changes **15 files changed** (+796 additions, -160 deletions) <details> <summary>View changed files</summary> 📝 `.vscode/tasks.json` (+95 -79) ➕ `docs/architecture/storage-encryption.md` (+109 -0) ➕ `server/migrations/20251130_storage_encryption.sql` (+63 -0) 📝 `server/src/config.ts` (+25 -12) 📝 `server/src/dtos/system-config.dto.ts` (+66 -26) 📝 `server/src/repositories/crypto.repository.ts` (+24 -1) 📝 `server/src/repositories/storage.repository.ts` (+24 -1) ➕ `server/src/schema/migrations/1764556323636-storage_encryption_columns.ts` (+43 -0) 📝 `server/src/schema/tables/asset-file.table.ts` (+28 -9) 📝 `server/src/schema/tables/asset.table.ts` (+34 -11) 📝 `server/src/services/asset-media.service.spec.ts` (+27 -4) 📝 `server/src/services/asset-media.service.ts` (+92 -17) 📝 `server/src/utils/config.ts` (+24 -0) ➕ `server/src/utils/encryption.ts` (+138 -0) 📝 `server/test/repositories/crypto.repository.mock.ts` (+4 -0) </details> ### 📄 Description - Add columns on asset/asset_file: encrypted, encryptionAlgo, encryptionIv, encryptedDek, encryptionTag, encryptionVersion; asset also plaintextChecksum - Place TS migration under server/src/schema/migrations; provide down migration - Validate against full schema via migrations.js on Postgres 17 + pgvector - All server tests pass (93 files); remove temporary baseline stub SQL --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 16:27:54 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#17809