30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
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
|
||
"
|