@@ -14,26 +14,45 @@ is_strict: true
14
14
disable_env_expansion : true
15
15
16
16
processes :
17
- redis :
17
+ flask :
18
+ command : flask --app main run
19
+ working_dir : ./app
20
+ environment :
21
+ - FLASK_APP=main
22
+ - FLASK_DEBUG=True
23
+ depends_on :
24
+ db :
25
+ condition : " process_started"
26
+ availability :
27
+ restart : " always"
28
+ backoff_seconds : 5 # default: 1
29
+ max_restarts : 0 # default: 0 (unlimited)
30
+
31
+ db :
18
32
command : >
19
33
docker run --rm -d \
20
- --name "${NAME:-devbox-redis}" \
21
- -p "${PORT:-6379}:6379" \
22
- "redis:${VERSION:-6.2}-alpine"
34
+ --name ${CONTAINER_NAME} \
35
+ -e POSTGRES_INITDB_ARGS="--locale-provider=icu --icu-locale=en_US.UTF-8" \
36
+ -e POSTGRES_DB=${POSTGRES_DB} \
37
+ -e POSTGRES_USER=${POSTGRES_USER} \
38
+ -e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
39
+ -p ${PORT}:5432 \
40
+ postgres:${VERSION}-alpine3.20
23
41
is_daemon : true
24
- environment : null
42
+ is_tty : false
43
+ environment :
44
+ - CONTAINER_NAME=${CONTAINER_NAME:-devbox-postgres}
45
+ - VERSION=${VERSION:-16.3}
46
+ - PORT=${PORT:-5432}
47
+ - POSTGRES_DB=${DB_NAME:-postgres}
48
+ - POSTGRES_USER=${DB_USER:-postgres}
49
+ - POSTGRES_PASSWORD=${DB_PASS?}
25
50
readiness_probe :
26
51
exec :
27
52
command : >
28
- timeout 12s bash -c \
29
- "until echo PING \
30
- | nc -z localhost ${PORT:-6379} \
31
- ; do sleep 1 \
53
+ timeout 30s bash -c \
54
+ "until docker exec ${CONTAINER_NAME} pg_isready \
55
+ ; do sleep 3 \
32
56
; done"
33
- availability :
34
- exit_on_end : true
35
- is_tty : false
36
57
shutdown :
37
- command : " docker stop ${NAME:-devbox-redis}"
38
- timeout_seconds : 10 # default: 10
39
- signal : 15 # default: 15
58
+ command : " docker stop ${CONTAINER_NAME}"
0 commit comments