diff --git a/apps/web/config/selfhosted.json b/apps/web/config/selfhosted.json
index 6b290baa6b..e16df20ad5 100644
--- a/apps/web/config/selfhosted.json
+++ b/apps/web/config/selfhosted.json
@@ -7,7 +7,7 @@
"port": 8081
},
"flags": {
- "secretsManager": false,
+ "secretsManager": true,
"showPasswordless": true,
"enableCipherKeyEncryption": false
}
diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.html
index 263281ed77..b736a46d5a 100644
--- a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.html
+++ b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.html
@@ -51,6 +51,13 @@
+
+
+
+ {{ hostname }}
+
+
+
diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.ts
index 0b7625a390..6b62b28ca6 100644
--- a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.ts
+++ b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.component.ts
@@ -5,6 +5,7 @@ import { combineLatest, map, Observable } from "rxjs";
import { VaultTimeoutSettingsService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout-settings.service";
import { VaultTimeoutAction } from "@bitwarden/common/enums/vault-timeout-action.enum";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
+import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
import { AccountProfile } from "@bitwarden/common/platform/models/domain/account";
@@ -26,10 +27,13 @@ export class HeaderComponent {
protected routeData$: Observable<{ titleId: string }>;
protected account$: Observable;
protected canLock$: Observable;
+ protected selfHosted: boolean;
+ protected hostname = location.hostname;
constructor(
private route: ActivatedRoute,
private stateService: StateService,
+ private platformUtilsService: PlatformUtilsService,
private vaultTimeoutSettingsService: VaultTimeoutSettingsService,
private messagingService: MessagingService
) {
@@ -41,6 +45,8 @@ export class HeaderComponent {
})
);
+ this.selfHosted = this.platformUtilsService.isSelfHost();
+
this.account$ = combineLatest([
this.stateService.activeAccount$,
this.stateService.accounts$,
diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.stories.ts b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.stories.ts
index 8e480ae50a..1231ba100a 100644
--- a/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.stories.ts
+++ b/bitwarden_license/bit-web/src/app/secrets-manager/shared/header.stories.ts
@@ -13,6 +13,7 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
import { VaultTimeoutSettingsService } from "@bitwarden/common/abstractions/vault-timeout/vault-timeout-settings.service";
import { VaultTimeoutAction } from "@bitwarden/common/enums/vault-timeout-action.enum";
import { MessagingService } from "@bitwarden/common/platform/abstractions/messaging.service";
+import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { StateService } from "@bitwarden/common/platform/abstractions/state.service";
import {
AvatarModule,
@@ -50,6 +51,12 @@ class MockVaultTimeoutService {
}
}
+class MockPlatformUtilsService {
+ isSelfHost() {
+ return false;
+ }
+}
+
@Component({
selector: "product-switcher",
template: ``,
@@ -97,6 +104,7 @@ export default {
declarations: [HeaderComponent, MockProductSwitcher, MockDynamicAvatar],
providers: [
{ provide: StateService, useClass: MockStateService },
+ { provide: PlatformUtilsService, useClass: MockPlatformUtilsService },
{ provide: VaultTimeoutSettingsService, useClass: MockVaultTimeoutService },
{
provide: MessagingService,