Qeli в Docker на Linux
Один multi-arch образ содержит сервер и клиент. Ниже — минимальный запуск сервера через Compose без режима privileged.
Требования к хосту
Нужны Linux, Docker с Compose, доступный /dev/net/tun и capabilities NET_ADMIN, NET_RAW, NET_BIND_SERVICE. Постоянно храните /etc/qeli и /var/lib/qeli; потеря identity key нарушит пиннинг всех клиентов.
$ docker version
$ docker compose version
$ test -c /dev/net/tun && echo TUN_OKСоберите образ и получите Compose-файл
Команды ниже собирают контейнер непосредственно из опубликованного тега v0.8.1 и не зависят от состояния тега GHCR latest. Сборка создаётся для архитектуры текущего хоста; для роутера используйте его целевую платформу.
$ git clone --branch v0.8.1 --depth 1 https://github.com/litvinovtd/qeli.git
$ cd qeli
$ docker buildx build -f release/docker/Dockerfile -t qeli:latest --load .
$ cp release/docker/docker-compose.yml .
$ docker compose -f docker-compose.yml up -d qeli-serverСоздайте пользователя и проверьте конфигурацию
Первый запуск создаёт примеры конфигурации и пустой users.conf в подключённом томе. Настройте bind и профиль, добавьте пользователя командой внутри контейнера и перезапустите сервис. Для клиентского контейнера обязательно задайте dns = off.
$ docker exec -it qeli-server qeli add-client --config /etc/qeli/server.conf myphone
$ docker exec -it qeli-server qeli check-config --config /etc/qeli/server.conf
$ docker exec -it qeli-server qeli show-identity --config /etc/qeli/server.conf
$ docker compose -f docker-compose.yml restart qeli-servernet.ipv4.ip_forward=1 и серверный NAT; для доступа к конкретным сетям предпочитайте маршруты и обратный маршрут без NAT.$ docker compose -f docker-compose.yml ps
$ docker logs --tail 100 qeli-server