Files
2018-lpon-site/docker-compose.prod.yml

76 lines
3.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ==============================================================================
# Docker Compose для PRODUCTION
#
# Этот файл предназначен для продакшен окружения. Его необходимо скопировать на продакшн-сервер под именем
# `docker-compose.yml` в корневой каталог проекта.
# Перед запуском убедитесь, что в корне проекта есть файл `.env` с необходимыми переменными окружения.
# Запуск:
# Вариант 1 (если переименовали в docker-compose.yml): docker compose up -d
# Вариант 2 (если оставили имя): docker compose -f docker compose -f compose.prod.yml up -d
# ==============================================================================
# В новых версиях Docker Compose можно не указывать версию (даже warning появляется, если указать)
# version: '3.8'
services:
# ОСНОВНОЙ СЕРВИС
lpon-site-prod:
image: git.cube2.ru/erjemin/2018-lpon-site:latest
# Имя контейнера для удобства
container_name: lpon-site-prod
# Политика перезапуска: всегда перезапускать контейнер, если он упал
restart: always
# Метки для Watchtower (авто-обновление)
labels:
- "com.centurylinklabs.watchtower.scope=lpon-scope"
# Переменные окружения
env_file:
- .env
ports:
# Пробрасываем порт 8020 на хосте на стандартный порт 80 внутри контейнера
# Внешний Nginx будет проксировать запросы на хост:8020
- "127.0.0.1:8020:80"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "1"
networks:
- lpon-network
# WATCHTOWER ДЛЯ АВТОМАТИЧЕСКОГО ОБНОВЛЕНИЯ ОБРАЗОВ ИЗ РЕЕСТРА
watchtower:
image: containrrr/watchtower
container_name: lpon-watchtower
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Переменные окружения
env_file:
- .env
environment:
- DOCKER_API_VERSION=1.44
# Берем учетные данные из .env файла
- REPO_USER=${REPO_USER}
- REPO_PASS=${REPO_PASS}
# Ограничиваем область видимости только этим проектом
- WATCHTOWER_SCOPE=lpon-scope
# Если нужно указать реестр явно (обычно watchtower сам понимает из имени образа)
# - WATCHTOWER_REGISTRY_URL=git.cube2.ru
command: --interval 1800 --cleanup # Проверять каждые 30 минут
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
- lpon-network
volumes:
static_volume:
networks:
lpon-network:
driver: bridge