Asmy
Управление

Ручная настройка Caddy

Когда использовать Caddyfile, как включить блок и проверить результат.

Для настроек, которых нет в конструкторе доменов, в проект можно добавить блок ручной настройки. Он использует синтаксис Caddyfile и попадает в общую конфигурацию Caddy.

Создание блока

  1. Откройте проект → «Домены» → карточку с плюсом.
  2. Выберите «Добавить ручную настройку».
  3. Задайте название и содержимое блока.
  4. Включите «Активировать ручную настройку», если блок должен работать.
  5. Сохраните и примените конфигурацию web-сервера.

Пример для контейнера lumen-web, доступного в сети server:

lumen.example.com {
    reverse_proxy lumen-web:80
}

Не создавайте одновременно такой ручной блок и домен конструктора с тем же адресом. Дублирующиеся или противоречивые правила могут не дать Caddy запуститься.

Как применяется настройка

Неактивный блок хранится в проекте, но не включается в конфигурацию web-сервера. Активные блоки всех проектов добавляются в общий Caddyfile после доменов конструктора.

Сохранение и применение — отдельные действия, как и у доменов. Ошибка в ручном блоке может затронуть web-сервер и доступ к самой панели. Держите SSH или консоль провайдера доступными до проверки результата.

Asmy проверяет собранный Caddyfile до замены работающего web-сервера. Если проверка прошла, но новый Caddy не запустился, Asmy пытается восстановить прежний образ и необходимые ему права/подключения хранилищ, затем сообщает результат. Данные в БД при этом остаются сохранёнными. Это не гарантия восстановления при любой неисправности сервера; после применения проверьте сайты. Подробности — сохранение и применение.

Для TCP-сервиса с TLS используйте отдельный режим конструктора. Добавлять глобальный блок Caddy для этого вручную не нужно.

Файлы и права

Caddy работает без root. Его конфигурация и корневая файловая система доступны только для чтения. Для логов используйте stdout/stderr, а не файл внутри образа. Временные файлы можно создавать в /tmp; они исчезают при пересоздании контейнера.

Относительные пути начинаются в /srv. Для file_server явно задавайте root с доступными публичными файлами. Не используйте /data/caddy: там хранятся сертификаты и приватные ключи. Само добавление ручного блока не подключает каталоги хоста или хранилища приложений к Caddy.

Что нужно учитывать

  • Настройки принадлежат общей конфигурации: ручной блок не изолирован границами проекта.
  • DNS, доступность upstream и его подключение к сети остаются вашей ответственностью.
  • Asmy распознаёт часть адресов reverse_proxy для группировки контейнеров. Сложный Caddyfile не обязательно будет полностью распознан интерфейсом.
  • Не храните в общедоступных примерах реальные токены и пароли.

Синтаксис и директивы проверяйте по руководству Caddyfile и описанию reverse_proxy.

Copyright © 2026