services: app: build: context: . dockerfile: Dockerfile container_name: lawn-scheduler-app restart: unless-stopped volumes: - frontend-build:/app/public # Готовая сборка фронтенда - ./uploads:/app/uploads # Файлы загрузок - ./db:/app/db # База данных SQLite user: "1001:1001" environment: - NODE_ENV=production networks: - lawn-scheduler-network nginx: image: nginx:alpine container_name: lawn-scheduler-nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # Основной конфиг - ./nginx/conf.d:/etc/nginx/conf.d:ro # Доп. конфиги - ./uploads:/var/www/uploads # Статика загружаемая пользователем - frontend-build:/var/www/html:ro # Сборка фронтенда networks: - lawn-scheduler-network depends_on: - app networks: lawn-scheduler-network: driver: bridge volumes: frontend-build: uploads: database: