services: sag24-ru: build: context: . dockerfile: Dockerfile image: sag24-ru:latest container_name: sag24-ru restart: unless-stopped ports: - "127.0.0.1:4070:8080" volumes: # Секреты для контактной формы — вне образа, монтируется с хоста. # На web путь: /opt/docker/sites/sag24-ru/secrets/contact-config.php # contact.php ожидает файл по пути dirname(__DIR__, 2) == /var/www/sag24.ru - ./secrets/contact-config.php:/var/www/sag24.ru/contact-config.php:ro healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/ru/"] interval: 30s timeout: 5s retries: 3 start_period: 10s # Деплой на web (45.10.53.206): # - /opt/docker/sites/sag24-ru/ ← git clone сюда # ├── docker-compose.yml, Dockerfile, docker/, src/, ... (репо целиком) # └── secrets/ # └── contact-config.php (вручную, не в git, .gitignored) # # Команды: # cd /opt/docker/sites/sag24-ru # git pull # docker compose build # docker compose up -d