Ручная настройка Caddy
Для настроек, которых нет в конструкторе доменов, в проект можно добавить блок ручной настройки. Он использует синтаксис Caddyfile и попадает в общую конфигурацию Caddy.
Создание блока
- Откройте проект → «Домены» → карточку с плюсом.
- Выберите «Добавить ручную настройку».
- Задайте название и содержимое блока.
- Включите «Активировать ручную настройку», если блок должен работать.
- Сохраните и примените конфигурацию 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.