From 7137aee08e5b3d9e347005ed7f4939886302017e Mon Sep 17 00:00:00 2001
From: Eunhak Lee <lee@enak.kr>
Date: Thu, 28 Nov 2024 17:39:16 +0900
Subject: [PATCH] chore: .env file to wire intra-docker association

---
 .env.example       | 14 ++++++++++++++
 .gitignore         |  3 +++
 docker-compose.yml |  8 +++++---
 3 files changed, 22 insertions(+), 3 deletions(-)
 create mode 100644 .env.example

diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..5b8e566
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,14 @@
+######################################################
+DB_NAME=meanspec
+DB_USER=meanspec
+DB_PASSWORD=foopassword123
+
+
+######################################################
+# DO NOT MODITY IF YOU DON'T KNOW WHAT YOU ARE DOING #
+######################################################
+DB_HOST=postgres
+DB_PORT=5432
+
+# API listen port
+PORT=8000
diff --git a/.gitignore b/.gitignore
index 413a72a..f454fa1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,5 @@
 /database
 /redis/data
+
+/.env*
+!/.env.example
diff --git a/docker-compose.yml b/docker-compose.yml
index f21ff03..a735eb6 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -8,6 +8,7 @@ services:
       LC_ALL: en_US.utf-8
     ports:
       - 8000:8000
+    env_file: .env
 
   postgres:
     image: docker.io/library/postgres:17-alpine
@@ -21,13 +22,14 @@ services:
     volumes:
       - ./database:/var/lib/postgresql/data
       - ./init/sql:/docker-entrypoint-initdb.d/
+    env_file: .env
     environment:
       TZ: Asia/Seoul
       LANG: en_US.utf-8
       LC_ALL: en_US.utf-8
-      POSTGRES_PASSWORD: foopassword123
-      POSTGRES_USER: meanspec
-      POSTGRES_DB: meanspec
+      POSTGRES_PASSWORD: ${DB_PASSWORD:-foopassword123}
+      POSTGRES_USER: ${DB_USER:-meanspec}
+      POSTGRES_DB: ${DB_NAME:-meanspec}
 
   redis:
     image: redis:7.4.1-alpine
-- 
GitLab