1
1
services :
2
- # Local PostgreSQL container (used for local development when needed)
3
2
postgres :
4
- image : postgres:17 # Use PostgreSQL version 17
5
- container_name : postgres # Name the container "postgres"
3
+ image : postgres:17
4
+ container_name : postgres
6
5
environment :
7
- POSTGRES_USER : ${POSTGRES_USER} # Set PostgreSQL user from environment variable
8
- POSTGRES_PASSWORD : ${POSTGRES_PASSWORD} # Set PostgreSQL password from environment variable
9
- POSTGRES_DB : ${POSTGRES_DB} # Set PostgreSQL database name from environment variable
6
+ POSTGRES_USER : ${POSTGRES_USER}
7
+ POSTGRES_PASSWORD : ${POSTGRES_PASSWORD}
8
+ POSTGRES_DB : ${POSTGRES_DB}
10
9
ports :
11
- - " ${POSTGRES_PORT}:5432" # Map host port to container's PostgreSQL port
10
+ - " ${POSTGRES_PORT}:5432"
12
11
volumes :
13
- - postgres_data:/var/lib/postgresql/data # Persist PostgreSQL data
14
- - ./migration/src/setup.sql:/docker-entrypoint-initdb.d/0-setup.sql # Initialize database with setup.sql
15
- - ./migration/src/refactor_platform_rs.sql:/docker-entrypoint-initdb.d/1-refactor_platform_rs.sql # Initialize with refactor_platform_rs.sql
16
- - ./migration/src/setup_default_user.sql:/docker-entrypoint-initdb.d/2-setup_default_user.sql # Initialize with setup_default_user.sql
12
+ - postgres_data:/var/lib/postgresql/data
13
+ - ./migration/src/setup.sql:/docker-entrypoint-initdb.d/0-setup.sql
14
+ - ./migration/src/refactor_platform_rs.sql:/docker-entrypoint-initdb.d/1-refactor_platform_rs.sql
15
+ - ./migration/src/setup_default_user.sql:/docker-entrypoint-initdb.d/2-setup_default_user.sql
17
16
networks :
18
- - backend_network # Connect to backend_network
17
+ - backend_network
19
18
healthcheck :
20
19
test : ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
21
20
interval : 5s
22
21
timeout : 5s
23
22
retries : 5
24
23
25
- # Rust application that connects to either local or remote PostgreSQL
26
24
rust-app :
27
- image : docker pull ghcr.io/refactor-group/refactor-platform-rs/82-feature-request-suggestion-create-github-actions-workflow-for-automating-the-build-and-deployments-for-feature-branches:latest # Use the built image
28
- platform : ${PLATFORM} # Specify the platform
29
- container_name : ${CONTAINER_NAME} # Name the container, default is "rust-app"
25
+ image : ${IMAGE_NAME}
26
+ platform : ${PLATFORM}
27
+ container_name : ${CONTAINER_NAME}
30
28
environment :
31
- POSTGRES_USER : ${POSTGRES_USER} # Set PostgreSQL user from environment variable
32
- POSTGRES_PASSWORD : ${POSTGRES_PASSWORD} # Set PostgreSQL password from environment variable
33
- POSTGRES_DB : ${POSTGRES_DB} # Set PostgreSQL database name from environment variable
34
- POSTGRES_SCHEMA : ${POSTGRES_SCHEMA} # Set PostgreSQL schema from environment variable
35
- POSTGRES_HOST : postgres # Set PostgreSQL host to "postgres" service
36
- POSTGRES_PORT : ${POSTGRES_PORT} # Set PostgreSQL port from environment variable
37
- DATABASE_URL : postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:${POSTGRES_PORT}/${POSTGRES_DB} # Configure database URL
38
- BACKEND_PORT : ${BACKEND_PORT} # Set service port from environment variable
39
- BACKEND_INTERFACE : ${BACKEND_INTERFACE} # Set service interface from environment variable
29
+ POSTGRES_USER : ${POSTGRES_USER}
30
+ POSTGRES_PASSWORD : ${POSTGRES_PASSWORD}
31
+ POSTGRES_DB : ${POSTGRES_DB}
32
+ POSTGRES_SCHEMA : ${POSTGRES_SCHEMA}
33
+ POSTGRES_HOST : postgres
34
+ POSTGRES_PORT : ${POSTGRES_PORT}
35
+ DATABASE_URL : postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:${POSTGRES_PORT}/${POSTGRES_DB}
36
+ BACKEND_PORT : ${BACKEND_PORT}
37
+ BACKEND_INTERFACE : ${BACKEND_INTERFACE}
40
38
BACKEND_ALLOWED_ORIGINS : ${BACKEND_ALLOWED_ORIGINS}
41
39
BACKEND_LOG_FILTER_LEVEL : ${BACKEND_LOG_FILTER_LEVEL}
42
40
TIPTAP_URL : ${TIPTAP_URL}
43
41
TIPTAP_AUTH_KEY : ${TIPTAP_AUTH_KEY}
44
42
TIPTAP_JWT_SIGNING_KEY : ${TIPTAP_JWT_SIGNING_KEY}
45
43
ports :
46
- - " ${BACKEND_PORT}:${BACKEND_PORT}" # Map host port to container's service port
44
+ - " ${BACKEND_PORT}:${BACKEND_PORT}"
47
45
depends_on :
48
46
postgres :
49
- condition : service_healthy # Ensure postgres service is healthy before rust-app
47
+ condition : service_healthy
50
48
networks :
51
- - backend_network # Connect to backend_network
52
- command : ["sh", "-c", "sleep 5 && /usr/local/bin/refactor_platform_rs"] # Wait for Postgres and run the app
53
-
49
+ - backend_network
50
+
54
51
nextjs-app :
55
52
build :
56
- context : https://github.com/refactor-group/refactor-platform-fe.git#main # change to fs directory to run locally
53
+ context : ${FRONTEND_CONTEXT}
57
54
dockerfile : Dockerfile
58
- target : runner # Use runner target
55
+ target : runner
59
56
args :
60
57
NEXT_PUBLIC_BACKEND_SERVICE_PROTOCOL : ${BACKEND_SERVICE_PROTOCOL}
61
58
NEXT_PUBLIC_BACKEND_SERVICE_PORT : ${BACKEND_PORT}
@@ -69,13 +66,13 @@ services:
69
66
NEXT_PUBLIC_BACKEND_SERVICE_HOST : ${BACKEND_SERVICE_HOST}
70
67
NEXT_PUBLIC_BACKEND_API_VERSION : ${BACKEND_API_VERSION}
71
68
ports :
72
- - " ${FRONTEND_SERVICE_PORT}:${FRONTEND_SERVICE_PORT}" # Map host port to frontend container's service port
69
+ - " ${FRONTEND_SERVICE_PORT}:${FRONTEND_SERVICE_PORT}"
73
70
depends_on :
74
- - rust-app # Ensure postgres service starts before rust-app
71
+ - rust-app
75
72
76
73
networks :
77
74
backend_network :
78
- driver : bridge # Use bridge network driver
75
+ driver : bridge
79
76
80
77
volumes :
81
- postgres_data : # Define postgres_data volume
78
+ postgres_data :
0 commit comments