Browse Source

fix: resolve container startup issues

backend/Dockerfile:
- Add ENV PYTHONPATH=/app so alembic can import app.config
- Change CMD to bash entrypoint.sh (volume mount breaks chmod +x)

nginx/nginx.conf:
- Add resolver 127.0.0.11 (Docker internal DNS)
- Use set $backend/$frontend variables so nginx resolves
  hostnames per-request instead of at startup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
master
Aleksey Razorvin 1 week ago
parent
commit
cc23783e2a
  1. 4
      backend/Dockerfile
  2. 9
      nginx/nginx.conf

4
backend/Dockerfile

@ -6,6 +6,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends postgresql-clie
WORKDIR /app
ENV PYTHONPATH=/app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
@ -13,4 +15,4 @@ COPY . .
RUN chmod +x entrypoint.sh
CMD ["./entrypoint.sh"]
CMD ["bash", "entrypoint.sh"]

9
nginx/nginx.conf

@ -1,16 +1,21 @@
server {
listen 80;
# Docker внутренний DNS резолвим хосты в момент запроса, а не при старте nginx
resolver 127.0.0.11 valid=30s;
# API запросы FastAPI backend
location /api/ {
proxy_pass http://backend:8000;
set $backend http://backend:8000;
proxy_pass $backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# Всё остальное Vite dev server поддержкой WebSocket для HMR)
location / {
proxy_pass http://frontend:5173;
set $frontend http://frontend:5173;
proxy_pass $frontend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

Loading…
Cancel
Save