diff --git a/docker-compose.yml b/docker-compose.yml index fbb03f1..6ec1e83 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,28 +1,28 @@ version: "3.8" services: + git_cloner: + image: alpine/git + volumes: + - /home/py:/repo # Монтируем целевую папку + command: > + sh -c " + mkdir -p /repo && # Убедимся, что папка существует + 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; " + app: - # Скачивает проект из Git перед сборкой build: - context: ./repo # Локальная папка, куда будет скачан репозиторий + context: /home/py # Используем клонированный репозиторий для сборки 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 - " \ No newline at end of file + - "5000:5000" # Пробрасываем порт + depends_on: + - git_cloner + restart: always