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) توضیح داده شده. اجرای خودِ پنل در 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
```
## متغیرهای محیطی
| متغیر | توضیحات | پیش‌فرض |