docker-compose

2024-06-18 16:10 | Публичная
version: '3.8'
services:
  backend:
    build:
      context: ./backend/
      dockerfile: Dockerfile
    command: bash -c "alembic upgrade head && python main.py"
    volumes:
      - .:/usr/src
    ports:
      - "5000:5000"
    container_name: backend
    environment:
      - DATABASE_URL=postgresql+asyncpg://postgres:postgres@db:5432/db
    depends_on:
      db:
        condition: service_healthy
    networks:
      - mynetwork

  frontend:
    build:
      context: ./frontend/
      dockerfile: Dockerfile
    restart: always
    volumes:
      - ./frontend:/app
    container_name: frontend
    networks:
      - mynetwork

  db:
    image: postgres:15.3
    restart: always
    expose:
      - 5432
    healthcheck:
      test: [ "CMD", "pg_isready", "-U", "postgres", "-d", "db" ]
      interval: 10s
      timeout: 5s
      retries: 5
    container_name: db
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=db
    networks:
      - mynetwork

  nginx:
    image: nginx:alpine
    container_name: nginx
    restart: always
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
      - "80:80"
    depends_on:
      - backend
      - frontend
    networks:
      - mynetwork
    command: /bin/sh -c "while ! nc -z backend 5000; do sleep 1; done; nginx -g 'daemon off;'"

networks:
  mynetwork:
    driver: bridge
Вернуться ко Всем Вставкам
Открыть чат
Чат с Send-Code AI Закрыть чат