Skip to content

Commit 0eb7714

Browse files
authored
refactor(server): build support env (immich-app#13163)
1 parent 3ddb5b8 commit 0eb7714

File tree

5 files changed

+36
-18
lines changed

5 files changed

+36
-18
lines changed

server/src/config.ts

-16
Original file line numberDiff line numberDiff line change
@@ -408,19 +408,3 @@ export const clsConfig: ClsModuleOptions = {
408408
},
409409
},
410410
};
411-
412-
export const getBuildMetadata = () => ({
413-
build: process.env.IMMICH_BUILD,
414-
buildUrl: process.env.IMMICH_BUILD_URL,
415-
buildImage: process.env.IMMICH_BUILD_IMAGE,
416-
buildImageUrl: process.env.IMMICH_BUILD_IMAGE_URL,
417-
repository: process.env.IMMICH_REPOSITORY,
418-
repositoryUrl: process.env.IMMICH_REPOSITORY_URL,
419-
sourceRef: process.env.IMMICH_SOURCE_REF,
420-
sourceCommit: process.env.IMMICH_SOURCE_COMMIT,
421-
sourceUrl: process.env.IMMICH_SOURCE_URL,
422-
thirdPartySourceUrl: process.env.IMMICH_THIRD_PARTY_SOURCE_URL,
423-
thirdPartyBugFeatureUrl: process.env.IMMICH_THIRD_PARTY_BUG_FEATURE_URL,
424-
thirdPartyDocumentationUrl: process.env.IMMICH_THIRD_PARTY_DOCUMENTATION_URL,
425-
thirdPartySupportUrl: process.env.IMMICH_THIRD_PARTY_SUPPORT_URL,
426-
});

server/src/interfaces/config.interface.ts

+16
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,22 @@ export interface EnvData {
99
configFile?: string;
1010
logLevel?: LogLevel;
1111

12+
buildMetadata: {
13+
build?: string;
14+
buildUrl?: string;
15+
buildImage?: string;
16+
buildImageUrl?: string;
17+
repository?: string;
18+
repositoryUrl?: string;
19+
sourceRef?: string;
20+
sourceCommit?: string;
21+
sourceUrl?: string;
22+
thirdPartySourceUrl?: string;
23+
thirdPartyBugFeatureUrl?: string;
24+
thirdPartyDocumentationUrl?: string;
25+
thirdPartySupportUrl?: string;
26+
};
27+
1228
database: {
1329
skipMigrations: boolean;
1430
vectorExtension: VectorExtension;

server/src/repositories/config.repository.ts

+17
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,23 @@ export class ConfigRepository implements IConfigRepository {
4747
environment,
4848
configFile: process.env.IMMICH_CONFIG_FILE,
4949
logLevel: process.env.IMMICH_LOG_LEVEL as LogLevel,
50+
51+
buildMetadata: {
52+
build: process.env.IMMICH_BUILD,
53+
buildUrl: process.env.IMMICH_BUILD_URL,
54+
buildImage: process.env.IMMICH_BUILD_IMAGE,
55+
buildImageUrl: process.env.IMMICH_BUILD_IMAGE_URL,
56+
repository: process.env.IMMICH_REPOSITORY,
57+
repositoryUrl: process.env.IMMICH_REPOSITORY_URL,
58+
sourceRef: process.env.IMMICH_SOURCE_REF,
59+
sourceCommit: process.env.IMMICH_SOURCE_COMMIT,
60+
sourceUrl: process.env.IMMICH_SOURCE_URL,
61+
thirdPartySourceUrl: process.env.IMMICH_THIRD_PARTY_SOURCE_URL,
62+
thirdPartyBugFeatureUrl: process.env.IMMICH_THIRD_PARTY_BUG_FEATURE_URL,
63+
thirdPartyDocumentationUrl: process.env.IMMICH_THIRD_PARTY_DOCUMENTATION_URL,
64+
thirdPartySupportUrl: process.env.IMMICH_THIRD_PARTY_SUPPORT_URL,
65+
},
66+
5067
database: {
5168
skipMigrations: process.env.DB_SKIP_MIGRATIONS === 'true',
5269
vectorExtension: getVectorExtension(),

server/src/services/server.service.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { BadRequestException, Injectable, NotFoundException } from '@nestjs/common';
2-
import { getBuildMetadata } from 'src/config';
32
import { serverVersion } from 'src/constants';
43
import { StorageCore } from 'src/cores/storage.core';
54
import { OnEvent } from 'src/decorators';
@@ -36,7 +35,7 @@ export class ServerService extends BaseService {
3635

3736
async getAboutInfo(): Promise<ServerAboutResponseDto> {
3837
const version = `v${serverVersion.toString()}`;
39-
const buildMetadata = getBuildMetadata();
38+
const { buildMetadata } = this.configRepository.getEnv();
4039
const buildVersions = await this.serverInfoRepository.getBuildVersions();
4140
const licensed = await this.systemMetadataRepository.get(SystemMetadataKey.LICENSE);
4241

server/test/repositories/config.repository.mock.ts

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ const envData: EnvData = {
77
port: 3001,
88
environment: ImmichEnvironment.PRODUCTION,
99

10+
buildMetadata: {},
11+
1012
database: {
1113
skipMigrations: false,
1214
vectorExtension: DatabaseExtension.VECTORS,

0 commit comments

Comments
 (0)