chore: remove Docker support entirely from this fork

Never used by this fork's own distribution (install.sh/x-ui.sh is the
only supported install path), AmneziaWG structurally can't run in the
Alpine-based image anyway, and Docker Hub publishing was failing on
every release for lack of configured credentials. Removed Dockerfile,
docker-compose.yml, DockerEntrypoint.sh, DockerInit.sh, .dockerignore,
and the docker.yml CI workflow; dropped the now-dead "Docker" README
subsection (all 7 languages), the "Docker image"/"Docker Compose"
options from the issue/PR templates, and corrected claude-bot.yml's
now-stale references to the deleted files, the never-actually-ours
ghcr.io/mhsanaei/3x-ui image, and (caught in passing) an already-stale
claim that Windows is a supported platform.

Left untouched: generic container-runtime adaptations that apply
regardless of image source (x-ui.sh's running-in-docker detection,
the virtual-interface-name filters, the DNS-over-container-network
note) and deploy/test/smoke-noninteractive.sh, which uses Docker only
as its own test sandbox, not as something this repo ships.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kuzz007
2026-07-27 01:13:04 +03:00
parent ea43571037
commit ea00e69d4d
21 changed files with 9 additions and 493 deletions
-17
View File
@@ -148,23 +148,6 @@ systemctl restart x-ui
Исходный файл SQLite остаётся нетронутым; удалите его вручную после проверки нового бэкенда.
### Docker
Команда по умолчанию `docker compose up -d` продолжает использовать SQLite. Чтобы запустить со встроенным сервисом PostgreSQL, раскомментируйте две строки переменных окружения `XUI_DB_*` в `docker-compose.yml` и запустите с профилем:
```bash
docker compose --profile postgres up -d
```
> [!NOTE]
> AmneziaWG-инбаундам нужны `awg-quick`/`awg` и модуль ядра AmneziaWG на **хосте** — в этом весь смысл отказа от Docker, описанного в разделе [Чем этот форк отличается: AmneziaWG](#чем-этот-форк-отличается-amneziawg). Сама панель в Docker по-прежнему прекрасно работает для всех остальных протоколов, но AmneziaWG-инбаунд, созданный из контейнеризированной панели, поднять интерфейс негде, если только у контейнера нет доступа к сети/ядру хоста — а это уже сводит на нет весь смысл. Если планируете использовать AmneziaWG, запускайте панель нативно на хосте.
Образ включает Fail2ban (включён по умолчанию) для применения **лимитов IP** по каждому клиенту. Fail2ban блокирует нарушителей с помощью `iptables`, что требует возможности `NET_ADMIN`. `docker-compose.yml` уже предоставляет её через `cap_add`; если вы вместо этого запускаете контейнер через `docker run`, добавьте возможности самостоятельно, иначе блокировки будут регистрироваться, но никогда не применяться:
```bash
docker run -d --cap-add=NET_ADMIN --cap-add=NET_RAW ... ghcr.io/mhsanaei/3x-ui
```
## Переменные окружения
| Переменная | Описание | По умолчанию |