qbit + VPN

This commit is contained in:
2026-08-27 00:25:37 +03:00
parent b2ab702f00
commit 548baedfaf
3 changed files with 140 additions and 0 deletions
@@ -0,0 +1,33 @@
# Gluetun + qBittorrent (Mullvad VPN)
Tek uygulama, iki container: **Gluetun** (VPN geçidi) ve **qBittorrent** (torrent istemcisi). qBittorrent kendi ağını kullanmıyor, `network_mode: service:gluetun` ile Gluetun'un ağ namespace'ini paylaşıyor — bu yüzden tüm torrent trafiği zorunlu olarak Mullvad tüneli üzerinden geçiyor. VPN koparsa qBittorrent'in de interneti anında kesilir (kill switch).
## Kurulum
1. Mullvad hesabı sayfasından **WireGuard configuration** oluştur, indirilen `.conf` dosyasını aç.
2. `PrivateKey` değerini **WireGuard Private Key** alanına, `Address` değerinin IPv4 kısmını **WireGuard Addresses** alanına yapıştır.
3. İstersen **Sunucu Şehirleri** alanına bir şehir yaz (örn. `Bucharest`), boş bırakırsan rastgele seçilir.
4. Kur, başlat. Gluetun VPN'e bağlanana kadar qBittorrent otomatik bekliyor (`depends_on` + healthcheck), o yüzden ilk açılışta birkaç saniye WebUI'ye erişemeyebilirsin, normal.
## Erişim
```
http://sunucu-ip:61235
```
İlk girişte qBittorrent geçici bir şifre üretir, container loglarından (`docker logs qbittorrent`) görebilirsin.
## Portlar
- **61235** → WebUI (host ve container tarafında aynı numara)
- **61234** (TCP+UDP) → torrent peer portu
Bu iki port bilinçli olarak yaygın kullanılan varsayılanlar (8080, 6881, 51413, 58846 gibi) ve Linux'un otomatik/ephemeral port aralığı (`32768-60999`) dışında seçildi — kalabalık bir sunucuda başka uygulamalarla çakışma ihtimalini azaltmak için.
## Sonarr / Radarr entegrasyonu
İndirme istemcisi olarak eklerken host adresi bu sunucu, port **61235**. `/downloads` klasörünü Sonarr/Radarr ile aynı host yoluyla paylaşırsan hardlink taşıma sorunsuz çalışır.
## İleride başka bir şeyi VPN'lemek istersen
Aynı `docker-compose.yml` dosyasına üçüncü bir servis ekleyip ona da `network_mode: "service:gluetun"` yazman yeterli — aynı dosyada oldukları için ekstra container ismi/proje eşleştirmesi gerekmiyor. O servisin ihtiyaç duyduğu portu **gluetun** servisinin `ports:` listesine eklemeyi unutma (ağı gerçekten sahiplenen o olduğu için port yayınlamayı da o yapmak zorunda).