@@ -42,6 +42,41 @@ services:
42
42
- traefik.http.routers.${STACK_NAME?Variable not set}-adminer-https.tls.certresolver=le
43
43
- traefik.http.services.${STACK_NAME?Variable not set}-adminer.loadbalancer.server.port=8080
44
44
45
+ prestart :
46
+ image : ' ${DOCKER_IMAGE_BACKEND?Variable not set}:${TAG-latest}'
47
+ build :
48
+ context : ./backend
49
+ args :
50
+ INSTALL_DEV : ${INSTALL_DEV-false}
51
+ networks :
52
+ - traefik-public
53
+ - default
54
+ depends_on :
55
+ db :
56
+ condition : service_healthy
57
+ restart : true
58
+ command : bash prestart.sh
59
+ env_file :
60
+ - .env
61
+ environment :
62
+ - DOMAIN=${DOMAIN}
63
+ - FRONTEND_HOST=${FRONTEND_HOST?Variable not set}
64
+ - ENVIRONMENT=${ENVIRONMENT}
65
+ - BACKEND_CORS_ORIGINS=${BACKEND_CORS_ORIGINS}
66
+ - SECRET_KEY=${SECRET_KEY?Variable not set}
67
+ - FIRST_SUPERUSER=${FIRST_SUPERUSER?Variable not set}
68
+ - FIRST_SUPERUSER_PASSWORD=${FIRST_SUPERUSER_PASSWORD?Variable not set}
69
+ - SMTP_HOST=${SMTP_HOST}
70
+ - SMTP_USER=${SMTP_USER}
71
+ - SMTP_PASSWORD=${SMTP_PASSWORD}
72
+ - EMAILS_FROM_EMAIL=${EMAILS_FROM_EMAIL}
73
+ - POSTGRES_SERVER=db
74
+ - POSTGRES_PORT=${POSTGRES_PORT}
75
+ - POSTGRES_DB=${POSTGRES_DB}
76
+ - POSTGRES_USER=${POSTGRES_USER?Variable not set}
77
+ - POSTGRES_PASSWORD=${POSTGRES_PASSWORD?Variable not set}
78
+ - SENTRY_DSN=${SENTRY_DSN}
79
+
45
80
backend :
46
81
image : ' ${DOCKER_IMAGE_BACKEND?Variable not set}:${TAG-latest}'
47
82
restart : always
@@ -52,6 +87,8 @@ services:
52
87
db :
53
88
condition : service_healthy
54
89
restart : true
90
+ prestart :
91
+ condition : service_completed_successfully
55
92
env_file :
56
93
- .env
57
94
environment :
@@ -74,7 +111,7 @@ services:
74
111
- SENTRY_DSN=${SENTRY_DSN}
75
112
76
113
healthcheck :
77
- test : ["CMD", "curl", "-f", "http://localhost/api/v1/utils/health-check/"]
114
+ test : ["CMD", "curl", "-f", "http://localhost:8000 /api/v1/utils/health-check/"]
78
115
interval : 10s
79
116
timeout : 5s
80
117
retries : 5
@@ -88,7 +125,7 @@ services:
88
125
- traefik.docker.network=traefik-public
89
126
- traefik.constraint-label=traefik-public
90
127
91
- - traefik.http.services.${STACK_NAME?Variable not set}-backend.loadbalancer.server.port=80
128
+ - traefik.http.services.${STACK_NAME?Variable not set}-backend.loadbalancer.server.port=8000
92
129
93
130
- traefik.http.routers.${STACK_NAME?Variable not set}-backend-http.rule=Host(`api.${DOMAIN?Variable not set}`)
94
131
- traefik.http.routers.${STACK_NAME?Variable not set}-backend-http.entrypoints=http
0 commit comments