Add uv example (#30)

Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
This commit is contained in:
github-actions[bot]
2024-12-23 17:33:29 +03:00
committed by GitHub
parent a998a1bfdb
commit ea0d72d879
17 changed files with 1950 additions and 130 deletions

View File

@@ -0,0 +1,56 @@
services:
# Сервис для развертывания приложения с профилем "blue"
web-blue: &web
build:
context: .
environment:
- VIRTUAL_HOST=web # Виртуальный хост для NGINX
- VIRTUAL_PORT=8080 # Виртуальный порт для NGINX
expose:
- 8080
deploy:
resources:
limits:
cpus: '0.5' # Лимитированный доступ к ресурсам CPU
memory: 32M # Лимит памяти
restart: always # Перезапускать сервис при падении
profiles:
- blue
# Сервис для развертывания приложения с профилем "green"
web-green:
<<: *web
# Используем настройки из сервиса web-blue
profiles:
- green
# NGINX-прокси
nginx-proxy:
image: nginxproxy/nginx-proxy:1.6.4-alpine
ports:
- 8080:8080 # Проксируем порт 8080 на хосте
healthcheck:
# Периодичность проверки состояния (5 секунд)
interval: 5s
# Максимальное время ожидания ответа (5 секунд)
timeout: 5s
# Количество попыток в случае неудачной проверки (5 попыток)
retries: 5
# Время ожидания перед началом проверок (3 секунды)
start_period: 5s
# Команда для выполнения теста
test: curl -f http://localhost:8080/ || exit 1
volumes:
# Монтируем сокет Docker
- /var/run/docker.sock:/tmp/docker.sock:ro
# Монтируем шаблон NGINX
- ./nginx.tmpl:/app/nginx.tmpl:ro
deploy:
resources:
limits:
cpus: '0.1' # Лимитированный доступ к ресурсам CPU
memory: 128M # Лимит памяти
restart: always
profiles:
- blue
- green