สร้างอินสแตนซ์ Searxng ส่วนตัว/Auth ที่ได้รับการป้องกันใหม่ด้วย VPN เพื่อความเป็นส่วนตัวที่ดีขึ้นในห้านาทีโดยใช้ Docker
| ชื่อ | คำอธิบาย | ภาพนักเทียบท่า | Dockerfile |
|---|---|---|---|
| แคดดี้ | Reverse Proxy (สร้างใบรับรอง LetsEncrypt โดยอัตโนมัติ) | Docker.io/library/caddy:2-Alpine | Dockerfile |
| searxng | searxng ด้วยตัวเอง | Docker.io/searxng/searxng:latest | Dockerfile |
| gluetun | ไคลเอนต์ VPN | Docker.io/qmcgaw/gluetun:latest | Dockerfile |
| Authelia | ระบบรับรองความถูกต้องเพื่อปกป้องอินสแตนซ์ส่วนตัวของคุณ | Docker.io/authelia/authelia:latest | Dockerfile |
cd /usr/local
git clone https://github.com/mrwazaby/searxng-vpn-docker.git
cd searxng-vpn-dockeropenssl rand -hex 32 สำหรับ JWT_SECRET , ENCRYPTION_KEY และ SESSION_SECRET.env ( cp .env.example .env ) และแก้ไขเพื่อตั้งค่าตัวแปรdocker run -it authelia/authelia:latest authelia crypto hash generate argon2docker compose updocker compose up -d คำเตือน
หากคุณใช้ Docker Desktop เวอร์ชันเก่า ( < 3.6.0 ) คุณอาจต้องติดตั้ง Docker Compose V1 ดังนั้นคุณควรแก้ไขคำสั่งในเอกสารนี้เพื่อให้เหมาะกับ Docker เขียน V1 ตัวอย่างเช่นเปลี่ยน 'Docker เขียนขึ้น' เป็น 'Docker-compose Up'
ติดตั้งปลั๊กอินนักเทียบท่า (ตรวจสอบให้แน่ใจว่าเวอร์ชัน compose docker มีอย่างน้อย 1.9.0)
บันทึก
ผู้ใช้ Windows สามารถใช้สคริปต์ PowerShell ต่อไปนี้เพื่อสร้างรหัสลับ:
$randomBytes = New-Object byte[] 32
( New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes( $randomBytes )
$secretKey = -join ( $randomBytes | ForEach-Object { " {0:x2} " -f $_ })
( Get-Content searxng / settings.yml) -replace ' ultrasecretkey ' , $secretKey | Set-Content searxng / settings.yml ในการเข้าถึงบันทึกจากคอนเทนเนอร์ทั้งหมดที่ใช้: docker compose logs -f
ในการเข้าถึงบันทึกของคอนเทนเนอร์เฉพาะหนึ่งรายการ:
docker compose logs -f caddydocker compose logs -f searxngdocker compose logs -f gluetundocker compose logs -f autheliaคุณสามารถข้ามขั้นตอนนี้ได้หากคุณไม่ใช้ SystemD
cp searxng-vpn-docker.service.template searxng-vpn-docker.serviceWorkingDirectory ในไฟล์ searxng-vpn-docker.service (เฉพาะในกรณีที่เส้นทางการติดตั้งแตกต่างจาก/usr/local/searxng-vpn-docker)systemctl enable $( pwd ) /searxng-vpn-docker.service
systemctl start searxng-vpn-docker.serviceพร็อกซีอิมเมจ SeArxng เปิดใช้งานโดยค่าเริ่มต้น
นโยบายการรักษาความปลอดภัยเนื้อหาเริ่มต้นอนุญาตให้เบราว์เซอร์เข้าถึง ${SEARXNG_HOSTNAME} และ https://*.tile.openstreetmap.org; -
หากผู้ใช้บางคนต้องการปิดการใช้งานพร็อกซีรูปภาพคุณต้องแก้ไข./caddyfile แทนที่ img-src 'self' data: https://*.tile.openstreetmap.org; โดย img-src * data:; -
สถาปัตยกรรมที่รองรับ:
เพื่ออัปเดตสแต็ก searxng:
git pull
docker compose pull
docker compose up -dหรือวิธีเก่า (กับเวอร์ชัน compose docker เก่า):
git pull
docker-compose pull
docker-compose up -dรายการแรงบันดาลใจสำหรับโครงการนี้: