diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000000000000000000000000000000000000..dad0d4f0ae4dde74cc578cc88ba930ff511b6e43
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,2 @@
+REACT_APP_API_URL=http://127.0.0.1:5000/api/v1
+REACT_APP_HYDRA_PUBLIC_URL=https://sso.init.stackspin.net
\ No newline at end of file
diff --git a/deployment/helmchart/templates/configmaps.yaml b/deployment/helmchart/templates/configmaps.yaml
index 6d02f35ca9b6929584d796341a1561b200586439..a6c934676a4e31849c97144b3c8251f1043ddd1a 100644
--- a/deployment/helmchart/templates/configmaps.yaml
+++ b/deployment/helmchart/templates/configmaps.yaml
@@ -19,6 +19,8 @@ data:
   KRATOS_PUBLIC_URL: {{ .Values.backend.kratos.publicUrl }}
   KRATOS_ADMIN_URL: {{ .Values.backend.kratos.adminUrl }}
   HYDRA_PUBLIC_URL: {{ .Values.backend.oidc.baseUrl }}
+  # React can only read this env variable if it's prepended with REACT_APP
+  REACT_APP_HYDRA_PUBLIC_URL: {{ .Values.backend.oidc.baseUrl }}
   HYDRA_ADMIN_URL: {{ .Values.backend.hydra.adminUrl }}
   LOGIN_PANEL_URL: {{ .Values.backend.loginPanelUrl }}
   DATABASE_URL: {{ .Values.backend.databaseUrl }}
diff --git a/src/common/util/index.ts b/src/common/util/index.ts
index 40a831a5829fffe35f5518099852446f32d6d838..eb165cf939e258b7e58a3673283e691dcbe20a6a 100644
--- a/src/common/util/index.ts
+++ b/src/common/util/index.ts
@@ -1,2 +1,2 @@
-export { isTouched } from './is-touched';
-export { addParamsToLink } from './add-params-to-link';
+export * from './is-touched';
+export * from './add-params-to-link';
diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx
index a58e2d82adfcb801fa24535dcc59e0da38e0d92e..0faf437d1f9279698df1514922da97c714f62240 100644
--- a/src/components/Header/Header.tsx
+++ b/src/components/Header/Header.tsx
@@ -24,6 +24,8 @@ function filterNavigationByDashboardRole(isAdmin: boolean) {
   return navigation.filter((item) => !item.requiresAdmin);
 }
 
+const HYDRA_URL = process.env.REACT_APP_HYDRA_PUBLIC_URL;
+
 // eslint-disable-next-line @typescript-eslint/no-empty-interface
 interface HeaderProps {}
 
@@ -40,6 +42,8 @@ const Header: React.FC<HeaderProps> = () => {
 
   const navigationItems = filterNavigationByDashboardRole(isAdmin);
 
+  const signOutUrl = `${HYDRA_URL}/oauth2/sessions/logout`;
+
   return (
     <>
       <Disclosure as="nav" className="bg-white shadow relative z-10">
@@ -120,6 +124,7 @@ const Header: React.FC<HeaderProps> = () => {
                           {({ active }) => (
                             <a
                               onClick={() => logOut()}
+                              href={signOutUrl}
                               className={classNames(
                                 active ? 'bg-gray-100 cursor-pointer' : '',
                                 'block px-4 py-2 text-sm text-gray-700 cursor-pointer',