version: "3.8" services: app: # Скачивает проект из Git перед сборкой build: context: ./repo # Локальная папка, куда будет скачан репозиторий dockerfile: Dockerfile working_dir: /app command: python app.py ports: - "5000:5000" # Связывает порт 5000 внутри контейнера с хостом restart: always # Перезапуск контейнера при сбое и после перезагрузки ПК volumes: - ./repo:/app # Монтирует локальную копию репозитория в контейнер git_cloner: image: alpine/git volumes: - ./repo:/repo # Куда будет скачан репозиторий command: sh -c " if [ ! -d /repo/.git ]; then git clone https://git.xander.cx.ua/Xanders25/test_compos.git /repo && echo 'Repository cloned'; else echo 'Repository already exists'; fi "