feat(proxy): add VLESS/Xray proxy configuration and update Docker setup

This commit is contained in:
2026-06-06 19:30:25 +03:30
parent 7cb4459fd4
commit dee1c3ab16
8 changed files with 383 additions and 11 deletions

View File

@@ -30,6 +30,48 @@ docker compose --env-file .env.production restart app queue scheduler
docker compose --env-file .env.production build
```
### حالت fallback با VLESS/Xray
کانفیگ VLESS داخل `docker/xray/config.local.json` قرار دارد و این فایل در git ignore شده است. فایل نمونه‌ی بدون اطلاعات اتصال هم در `docker/xray/config.example.json` موجود است. اگر این فایل local را نداشتید، از نمونه کپی بگیرید و مقدارهای اتصال را پر کنید.
برای وقتی که اینترنت مستقیم یا mirrorها درست جواب نمی‌دهند، اول پروکسی را با profile جدا بالا بیاورید:
```bash
docker compose --env-file .env.production --profile proxy up -d vless-proxy
```
پروکسی HTTP روی سیستم میزبان از `127.0.0.1:2080` و SOCKS از `127.0.0.1:2081` در دسترس است. برای build stepهای داخل Dockerfile از این دستور استفاده کنید:
```bash
DOCKER_BUILD_HTTP_PROXY=http://host.docker.internal:2080 \
DOCKER_BUILD_HTTPS_PROXY=http://host.docker.internal:2080 \
docker compose --env-file .env.production build
```
اگر خود pull کردن imageهای Docker مشکل داشت، این پروکسی را در Docker Desktop هم تنظیم کنید:
```text
HTTP proxy: http://127.0.0.1:2080
HTTPS proxy: http://127.0.0.1:2080
```
برای Debian apt، پیش‌فرض روی repository رسمی Debian می‌ماند چون mirror آروان ممکن است با نسخه‌ی base image sync نباشد و dependency conflict بدهد. اگر عمداً خواستید apt را هم به mirror دیگری ببرید، این متغیرها را هنگام build تنظیم کنید:
```bash
DEBIAN_APT_MIRROR=http://mirror.example/debian \
DEBIAN_SECURITY_APT_MIRROR=http://mirror.example/debian-security \
DEBIAN_APT_DISABLE_UPDATES=true \
docker compose --env-file .env.production build
```
برای اینکه درخواست‌های خروجی خود اپلیکیشن هم از پروکسی رد شوند:
```bash
APP_HTTP_PROXY=http://vless-proxy:8080 \
APP_HTTPS_PROXY=http://vless-proxy:8080 \
docker compose --env-file .env.production --profile proxy up -d
```
اول دیتابیس را بالا بیاورید:
```bash
@@ -104,4 +146,4 @@ docker compose --env-file .env.production down -v
```bash
docker compose --env-file .env.production exec app php artisan config:clear
docker compose --env-file .env.production restart app queue scheduler
```
```