From c7a35a24ab3980368629316042b5b6be7e42cb54 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Fri, 9 Jan 2026 19:58:29 +0700 Subject: [PATCH 1/7] feat: CI/CD adept to new 3 step process --- .github/workflows/deploy.yml | 43 ++++++++++++++-- docker-compose.dev.yml | 51 +++++++++++++++++++ docker-compose.yml => docker-compose.prod.yml | 6 +-- 3 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 docker-compose.dev.yml rename docker-compose.yml => docker-compose.prod.yml (86%) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 66ca398..e52c88c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -4,11 +4,14 @@ on: push: branches: - main + - dev jobs: - deploy: - name: Build and Deploy + deploy-dev: + name: Build and Deploy Development + if: github.ref == 'refs/heads/dev' runs-on: self-hosted + environment: Development steps: - name: Checkout @@ -27,8 +30,40 @@ jobs: - name: Restart docker run: | echo "Restarting docker" - docker compose down - docker compose up -d --build + docker compose -f docker-compose.dev.yml down + docker compose -f docker-compose.dev.yml up -d --build + echo "Docker restarted" + + - name: Clean up + run: | + echo "Cleaning up" + docker image prune -f + + deploy-production: + name: Build and Deploy Production + if: github.ref == 'refs/heads/main' + runs-on: self-hosted + environment: Production + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Create project env + run: | + echo "${{ secrets.ENV_FILE }}" > .env + + - name: Create fe env + run: | + cd Frontend/project-CL + echo "${{ secrets.VITE_ENV_FILE }}" > .env.production + cat .env.production + + - name: Restart docker + run: | + echo "Restarting docker" + docker compose -f docker-compose.prod.yml down + docker compose -f docker-compose.prod.yml up -d --build echo "Docker restarted" - name: Clean up diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..bc31c8d --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,51 @@ +version: '3.8' + +services: + # --- DATABASE --- + db: + image: postgres:15-alpine + container_name: cl_database_development + restart: always + environment: + POSTGRES_USER: ${DB_USER} + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_DB: ${DB_NAME} + volumes: + - pg_data:/var/lib/postgresql/data + networks: + - erp_network + + # --- BACKEND (GOLANG) --- + backend: + build: ./Backend + container_name: cl_backend_development + restart: always + ports: + - "8081:8080" + depends_on: + - db + env_file: + - .env + environment: + - AUTH_MODE=false + networks: + - erp_network + + # --- FRONTEND (REACT) --- + frontend: + build: ./Frontend/project-CL + container_name: cl_frontend_development + restart: always + ports: + - "3001:80" + depends_on: + - backend + networks: + - erp_network + +volumes: + pg_data: + +networks: + erp_network: + driver: bridge \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.prod.yml similarity index 86% rename from docker-compose.yml rename to docker-compose.prod.yml index caece5d..2938401 100644 --- a/docker-compose.yml +++ b/docker-compose.prod.yml @@ -4,7 +4,7 @@ services: # --- DATABASE --- db: image: postgres:15-alpine - container_name: cl_database + container_name: cl_database_production restart: always environment: POSTGRES_USER: ${DB_USER} @@ -18,7 +18,7 @@ services: # --- BACKEND (GOLANG) --- backend: build: ./Backend - container_name: cl_backend + container_name: cl_backend_production restart: always ports: - "8080:8080" @@ -34,7 +34,7 @@ services: # --- FRONTEND (REACT) --- frontend: build: ./Frontend/project-CL - container_name: cl_frontend + container_name: cl_frontend_production restart: always ports: - "3000:80" From 1c05d9dff7e88482055b890a29279cd783111bd2 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 11:12:03 +0700 Subject: [PATCH 2/7] feat: adding prod cors --- Backend/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/main.go b/Backend/main.go index 1eab754..c77be90 100644 --- a/Backend/main.go +++ b/Backend/main.go @@ -32,7 +32,7 @@ func main() { r := gin.Default() r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3000", "http://arjuna-server.taild15798.ts.net:3000"}, + AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3000", "http://arjuna-server.taild15798.ts.net:3000", "https://core-life.arjunaa.my.id/"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization"}, AllowCredentials: true, From 5ad49cf4b94cd2d2197f1498dd682d6d0c6053a0 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 11:18:20 +0700 Subject: [PATCH 3/7] hotfix: changed dev port --- Backend/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/main.go b/Backend/main.go index c77be90..70bab97 100644 --- a/Backend/main.go +++ b/Backend/main.go @@ -32,7 +32,7 @@ func main() { r := gin.Default() r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3000", "http://arjuna-server.taild15798.ts.net:3000", "https://core-life.arjunaa.my.id/"}, + AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3001", "http://arjuna-server.taild15798.ts.net:3001", "https://core-life.arjunaa.my.id/"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization"}, AllowCredentials: true, From f234765a02aa820a838e64c78f2d3cfcccd9ddb8 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 11:39:34 +0700 Subject: [PATCH 4/7] hotfix: remove some warning in be --- Backend/main.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Backend/main.go b/Backend/main.go index 70bab97..92f592a 100644 --- a/Backend/main.go +++ b/Backend/main.go @@ -32,7 +32,7 @@ func main() { r := gin.Default() r.Use(cors.New(cors.Config{ - AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3001", "http://arjuna-server.taild15798.ts.net:3001", "https://core-life.arjunaa.my.id/"}, + AllowOrigins: []string{"http://localhost:5173", "http://100.111.195.90:3001", "https://core-life.arjunaa.my.id/"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization"}, AllowCredentials: true, @@ -53,5 +53,8 @@ func main() { finance.RegisterRouter(protected) } - r.Run(":8080") + err = r.Run(":8080") + if err != nil { + return + } } From bae8e0910ba69bb215a223d9ccc03c4a41bde7c2 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 11:52:22 +0700 Subject: [PATCH 5/7] hotfix: backend & db port fix --- docker-compose.dev.yml | 4 ++-- docker-compose.prod.yml | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index bc31c8d..d5b09ac 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: # --- DATABASE --- db: @@ -10,6 +8,8 @@ services: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} + ports: + - "5433:5432" volumes: - pg_data:/var/lib/postgresql/data networks: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 2938401..dd153c5 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: # --- DATABASE --- db: From a19955f9c415b199323af99c190c4194a46bb4ee Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 12:05:22 +0700 Subject: [PATCH 6/7] hotfix: port issue --- docker-compose.dev.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index d5b09ac..b933fe9 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -8,8 +8,6 @@ services: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} - ports: - - "5433:5432" volumes: - pg_data:/var/lib/postgresql/data networks: @@ -27,7 +25,7 @@ services: env_file: - .env environment: - - AUTH_MODE=false + - AUTH_MODE=true networks: - erp_network From 89c3716761f00b2b45ba2cab7d3c1a06a526b202 Mon Sep 17 00:00:00 2001 From: Arjuna Date: Sat, 10 Jan 2026 12:27:12 +0700 Subject: [PATCH 7/7] hotfix: port issue still --- docker-compose.dev.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index b933fe9..6efe76a 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -24,8 +24,6 @@ services: - db env_file: - .env - environment: - - AUTH_MODE=true networks: - erp_network