Сборка из исходного кода
Существует несколько вариантов сборки Caddy, если вам нужна настраиваемая сборка (например, с плагинами):
- Git: Сборка из репозитория Git
-
xcaddy: Сборка с использованиемxcaddy - Docker: Сборка пользовательского образа Docker
Требования:
- Go 1.20 или более поздней версии
В разделе Файлы поддержки пакетов для настраиваемых сборок для Debian/Ubuntu/Raspbian содержатся инструкции для пользователей, которые установили Caddy с помощью команды APT в системе на базе Debian, но нуждаются в исполняемом файле настраиваемой сборки для своих операций.
Git
Требования:
- Установлен Go (см. выше)
Клонирование репозитория:
git clone "https://github.com/caddyserver/caddy.git" Если у вас нет git, вы можете скачать исходный код в виде архива с GitHub. Каждое выпуск также имеет снимки исходного кода.
Сборка:
cd caddy/cmd/caddy/
go build Программы на Go легко компилируются для других платформ. Просто установите GOOS, GOARCH и/или GOARM переменные среды, которые отличаются. (См. документацию go для получения подробностей.)
Например, для компиляции Caddy для Windows, когда вы не на Windows:
GOOS=windows go build Или аналогично для Linux ARMv6, когда вы не на Linux или ARMv6:
GOOS=linux GOARCH=arm GOARM=6 go build xcaddy
Команда xcaddy — это самый простой способ собрать Caddy с информацией о версии и/или плагинами.
Требования:
- Установлен Go (см. выше)
- Убедитесь, что
xcaddyнаходится в вашейPATH
Вам не нужно загружать исходный код Caddy (он сделает это за вас).
Затем сборка Caddy (с информацией о версии) выполняется так же просто, как:
xcaddy build Чтобы собрать с плагинами, используйте --with:
xcaddy build \
--with github.com/caddyserver/nginx-adapter
--with github.com/caddyserver/ntlm-transport@v0.1.1 Как вы можете видеть, вы можете настроить версии плагинов с помощью @ синтаксиса. Версии могут быть именем тега, значением SHA коммита или веткой.
Кросс-платформенная компиляция с xcaddy работает так же, как и с командой go. Например, для кросс-компиляции для macOS:
GOOS=darwin xcaddy build Docker
Вы можете использовать образ :builder в качестве короткой записи для построения новой двоичной Caddy с настраиваемыми модулями:
FROM caddy:<version>-builder AS builderRUN xcaddy build \
--with github.com/caddyserver/nginx-adapter \
--with github.com/hairyhenderson/caddy-teapot-module@v0.0.3-0FROM caddy:<version>COPY --from=builder /usr/bin/caddy /usr/bin/caddy
Убедитесь, что вы заменяете <version> на последнюю версию Caddy для начала.
Обратите внимание на вторую инструкцию FROM — это создает гораздо более компактный образ, просто накладывая недавно созданную двоичную программу поверх обычного образа caddy.
Построитель использует xcaddy для сборки Caddy с предоставленными модулями, аналогично процессу, описанному выше.
Для использования Docker Compose, см. наши рекомендуемые compose.yml и инструкции по использованию.
Файлы поддержки пакетов для настраиваемых сборок для Debian/Ubuntu/Raspbian
Эта процедура направлена на упрощение запуска настраиваемых caddy двоичных файлов, сохраняя при этом файлы поддержки из пакета caddy.
Эта процедура позволяет пользователям воспользоваться стандартной конфигурацией, файлами службы systemd и bash-completion из официального пакета.
Требования:
- Установите пакет
caddyв соответствии с этими инструкциями - Соберите свой настраиваемый
caddyдвоичный файл (см. разделы выше) или скачайте настраиваемую сборку - Ваш настраиваемый
caddyдвоичный файл должен находиться в текущем каталоге
Процедура:
sudo dpkg-divert --divert /usr/bin/caddy.default --rename /usr/bin/caddy
sudo mv ./caddy /usr/bin/caddy.custom
sudo update-alternatives --install /usr/bin/caddy caddy /usr/bin/caddy.default 10
sudo update-alternatives --install /usr/bin/caddy caddy /usr/bin/caddy.custom 50
sudo systemctl restart caddy
Пояснения:
-
dpkg-divertпереместит/usr/bin/caddyдвоичный файл в/usr/bin/caddy.defaultи создаст перенаправление в случае, если какой-либо пакет захочет установить файл в это место. -
update-alternativesсоздаст символическую ссылку от желаемого двоичного файла caddy к/usr/bin/caddy -
systemctl restart caddyостановит стандартную версию сервера Caddy и запустит настраиваемую.
Вы можете переключаться между настраиваемыми и стандартными caddy двоичными файлами, выполняя нижеприведенное и следуя подсказкам на экране. Затем перезапустите службу Caddy.
update-alternatives --config caddy Для обновления Caddy после этого шага вы можете запустить caddy upgrade. Это попытается скачать сборку с теми же плагинами, что и текущая сборка, с последней версией Caddy, затем заменить текущий двоичный файл новым.
© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/build