# docker-compose.yml для локальной разработки проекта rosmorport_tsts version: '3.9' services: # Django приложение web: # Строим образ из Dockerfile в текущей директории build: context: . dockerfile: Dockerfile # Имя контейнера container_name: rosmorport_web # Переменные окружения для разработки environment: - DOCKER_ENV=1 - DEBUG=True - ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web - DB_ENGINE=django.db.backends.sqlite3 - DB_NAME=/app/db.sqlite3 - PYTHONUNBUFFERED=1 # Монтируем текущую директорию для разработки volumes: - .:/app - ./public/static:/app/public/static - ./public/media:/app/public/media - ./database:/app/database # Перенаправляем порты ports: - "8000:8000" # Команда для запуска в режиме разработки command: > sh -c "python rosmorport_tsts/manage.py migrate && python rosmorport_tsts/manage.py collectstatic --noinput && python rosmorport_tsts/manage.py runserver 0.0.0.0:8000" # Зависимости (если будут другие сервисы) # depends_on: # - db # Сохраняем контейнер в запущенном состоянии при ошибках stdin_open: true tty: true # Опционально: PostgreSQL база данных для продакшена # db: # image: postgres:16-alpine # container_name: rosmorport_db # environment: # - POSTGRES_DB=rosmorport_db # - POSTGRES_USER=postgres # - POSTGRES_PASSWORD=postgres # volumes: # - postgres_data:/var/lib/postgresql/data # ports: # - "5432:5432" # healthcheck: # test: ["CMD-SHELL", "pg_isready -U postgres"] # interval: 10s # timeout: 5s # retries: 5 # Именованные тома для хранения данных volumes: django_staticfiles: driver: local django_mediafiles: driver: local # postgres_data: # driver: local # Опционально: сеть для сервисов networks: default: name: rosmorport_network driver: bridge