diff --git a/docker/.env.example b/docker/.env.example
index 6f5e56da99..751883fa57 100644
--- a/docker/.env.example
+++ b/docker/.env.example
@@ -2,6 +2,7 @@
 # Database
 ###################################################################################
 
+DB_HOSTNAME=immich_database
 DB_USERNAME=postgres
 DB_PASSWORD=postgres
 DB_DATABASE_NAME=immich
@@ -10,6 +11,16 @@ DB_DATABASE_NAME=immich
 
 
 
+###################################################################################
+# Redis
+###################################################################################
+
+REDIS_HOSTNAME=immich_redis
+
+
+
+
+
 ###################################################################################
 # Upload File Config
 ###################################################################################
@@ -48,4 +59,4 @@ MAPBOX_KEY=
 # For example: If your server IP address is 10.1.11.50, the environment variable will
 # be VITE_SERVER_ENDPOINT=http://10.1.11.50:2283
 
-VITE_SERVER_ENDPOINT=
\ No newline at end of file
+VITE_SERVER_ENDPOINT=
diff --git a/microservices/src/config/database.config.ts b/microservices/src/config/database.config.ts
index 66d2606ed8..4b81746be0 100644
--- a/microservices/src/config/database.config.ts
+++ b/microservices/src/config/database.config.ts
@@ -2,7 +2,7 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm';
 
 export const databaseConfig: TypeOrmModuleOptions = {
   type: 'postgres',
-  host: 'immich_postgres',
+  host: process.env.DB_HOSTNAME || 'immich_postgres',
   port: 5432,
   username: process.env.DB_USERNAME,
   password: process.env.DB_PASSWORD,
diff --git a/server/src/app.module.ts b/server/src/app.module.ts
index 849302f197..b9a0fff80c 100644
--- a/server/src/app.module.ts
+++ b/server/src/app.module.ts
@@ -39,7 +39,7 @@ import { ScheduleTasksModule } from './modules/schedule-tasks/schedule-tasks.mod
     BullModule.forRootAsync({
       useFactory: async () => ({
         redis: {
-          host: 'immich_redis',
+          host: process.env.REDIS_HOSTNAME || 'immich_redis',
           port: 6379,
         },
       }),
diff --git a/server/src/middlewares/redis-io.adapter.middleware.ts b/server/src/middlewares/redis-io.adapter.middleware.ts
index 64447b76ed..45940b04d6 100644
--- a/server/src/middlewares/redis-io.adapter.middleware.ts
+++ b/server/src/middlewares/redis-io.adapter.middleware.ts
@@ -3,12 +3,13 @@ import { RedisClient } from 'redis';
 import { ServerOptions } from 'socket.io';
 import { createAdapter } from 'socket.io-redis';
 
-// const pubClient = createClient({ url: 'redis://immich_redis:6379' });
+const redis_host = process.env.REDIS_HOSTNAME || 'immich_redis'
+// const pubClient = createClient({ url: `redis://${redis_host}:6379` });
 // const subClient = pubClient.duplicate();
 
 const pubClient = new RedisClient({
+  host: redis_host,
   port: 6379,
-  host: 'immich_redis',
 });
 
 const subClient = pubClient.duplicate();