Bu yazı Pangolin kurulumu ile ilgilidir. Önce Pangolin’in ne olduğundan bahsedelim.
Pangolin yazılımı Cloudflare Tunnels’e karşı açık kaynak iyi bir alternatiftir. Tersine Poxy’dir. (Reverse proxy)
Biz bu yazılımı hosting firmalarının yüksek depolama ücretleri sebebiyle kullanıyoruz. DeHost firmasından kiraladığımız küçük bir sunucuya Pangolin kurduk, kendi cihazımıza da MinIO S3 yazılımını kurduk böylece (Mastodon temelli) Arslanşah Sosyal Medya’nın medya depolama kısmını kendi cihazımıza taşıyarak hosting firmalarının yüksek depolama maaliyetlerinden kurtulduk.
Döküman Pardus Server 23 sürümünde uygulamalı biçimde hazırlanmıştır.
Hazırlanış tarihi 23.09.2025
Kurulum Adımları
Ön Hazırlık
İlk olarak yazılımımızın bağımlı olduğu paketleri kurmamız gerekmekte.
sudo apt install apt-transport-https ca-certificates curl gpg
Ardından sunucumuza docker depolarını ekleyerek docker kurulumunu sağlayacağız.
Docker depoloarının GPG anahtarını sistemimize kaydedelimm.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Şimdi Pardus sürümümüze göre Docker depolarınını ekleeyelim.
Pardus 23 (Debian 12 / Bookworm) için:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Pardus 25 (Debian 13 / Trixie) için:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Deppoları sisteme ekleedikten sonra güncellemeleri alalım.
sudo apt update
İsteğe bağlı: Burada güncelleme varsa sistemi güncelleyip yeniden başlatabilirsiniz.
Docker Kurulumu
Docker paketlerini kuralım.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker’ın sağlıklı biçimde kurulup çalışıp çalışmadığını kontrol edelim.
systemctl is-active docker
Eğer burada active değerini görüyorsanız docker kurulmuş ve çalışıyor demektir.
Pangolin Kurulumu
Pangolin kurulumunu kolaylaştırmak için gerekli bir script mevcut, bu scripti cihazımıza indirelim.
curl -fsSL https://digpangolin.com/get-installer.sh | bash
Çıktı:
[INFO] Installing latest version of installer…
[INFO] Fetching latest version from GitHub…
[INFO] Latest version: v1.10.2
[INFO] Detected platform: linux_amd64
[INFO] Install directory: /home/batuhan
[INFO] Downloading installer from https://github.com/fosrl/pangolin/releases/download/1.10.2/installer_linux_amd64
[INFO] Installer downloaded to /home/batuhan/installer
[INFO] Installation successful!
[INFO] Installer is ready to use!
Eğer çıktının sonunda başarılı veya hazır (ing. succesfull, ready) ibarelerini görüyorsanız bu script başarıyla çalışmıştır.
Kodu çalıştırdığınız yere installer isimli bir dosya gelmiş olmalı.
(Bulunduğunuz konumun dosyalarını ls komutu ile görebilirsiniz.)
bu dosyaya sudo chmod +x installer diyerek çalışma izni vermemiz gerekli. Hemen ardından ise bu dosyayı sudo ./installer komutu ile çalıştıracağız ve kuruluma başlayacağız. Kurulum sırasında sorular ve bilgiler sorulacak.
Bu soruları kendi isteğiniz, amaç ve kullanım durumunuza göre cevaplandırabilirsiniz. Bu makale en temel ve basit kurulumu baz alarak hazırlanmıştır.
=== Basic Configuration ===
-
Do you want to install Pangolin as a cloud-managed (beta) node? (yes/no): sorusuna cevabımız
noolmalıdır. -
Enter your base domain (no subdomain e.g. example.com): sorusuna ana alan adımızı girmeliyiz. (alt alan adı olmadan) örnek:
pangolin.test -
Enter the domain for the Pangolin dashboard (default: pangolin.pangolin.test): bu tercih meselesidir. Burada pangolin arayüzünün nerede çalışacağını belirliyorsunuz. biz varsayılan biçimde kurulumu gerçekleştirmek için direkt
entertuşuna basarak bu kısmı geçtik. Yani Pangolin arayüzünepangolin.pangolin.testalt alan adından erişeceğiz. -
Enter email for Let’s Encrypt certificates: SSL sertifikası oluşturmak için bir email adresi istiyor. Herhangi bir email adresi girebilirsiniz. örnek:
ornek@vuhuv.com -
Do you want to use Gerbil to allow tunneled connections (yes/no) (default: yes): bunu varsayılan olan
yesolarak seçtik. Bu sebeple hiçbir şey yazmadanentertuşuna basarak geçtik.
=== Email Configuration ===
- Enable email functionality (SMTP) (yes/no) (default: no): biz email yapılandırmak istemedik, bu sebeple varsayılan değer olan
nouygulansın diyeentertuşuna bastık.
Bazı kişiler burayı yapmak isteyecektir. Yazılıma herhangi bir email bağlamak istiyorsanız burayayesyazabilirsiniz.
=== Advanced Configuration ===
Is your server IPv6 capable? (yes/no) (default: yes): buraya no cevabını veriyoruz. (Sunucudan sunucuya göre değişim gösterebilir ancak genellikle no denmesi gerekir.)
Bu adımlardan sonra şu yazıyı görüyorsanız bu kısımlar başarıyla sonuçlanmış demektir.
=== Generating Configuration Files ===
Configuration files created successfully!
Ancak henüz bitmedi, soracağı dört soru daha var. İkisi kurulum öncesi, ikisi kurulum sonrasında.
=== Starting installation ===
-
Would you like to install and start the containers? (yes/no) (default: yes): cevabımız varsayılan cevap olan
yesolacağı için hiçbir şey yazmadanentertuşuna basıp geçtik. -
Would you like to run Pangolin as Docker or Podman containers? (default: docker): kurulumda
dockerkullanacağımız için herhangi bir cevap yazmadanentertuşuna basıp geçtik.
Ardından şöyle bir kurulum aşaması başlayacaktır:
Pulling the container images…
[+] Pulling 27/27
traefik Pulled 91.9s
9824c27679d3 Pull complete 6.9s
bb80887cf619 Pull complete 7.1s
bacb9cc999f7 Pull complete 88.3s
06eb2b935e74 Pull complete 88.4s
pangolin Pulled 250.1s
6a088b2daae0 Pull complete 95.5s
52719e552fdf Pull complete 95.7s
016c0e952111 Pull complete 95.7s
f101252d8a7d Pull complete 95.8s
82915740be99 Pull complete 95.9s
54d9c996622e Pull complete 96.0s
7d64e80ae6c0 Pull complete 244.6s
8d17b5cb2625 Pull complete 245.7s
a2c245d2e1a5 Pull complete 245.8s
1a6c12b67926 Pull complete 246.0s
7d4eeb9181e7 Pull complete 246.1s
0053a96b4383 Pull complete 246.2s
05928576c7a7 Pull complete 246.3s
874d2ba43900 Pull complete 246.3s
a8e7f939c3a6 Pull complete 246.5s
gerbil Pulled 84.5s
b71466b94f26 Pull complete 80.5s
62f3b3d0017a Pull complete 80.7s
9d48c30d4eaf Pull complete 80.8s
c433e2c89bbd Pull complete 80.9s
7a3cad4e25a5 Pull complete 80.9s
Starting containers…
[+] Running 5/5
Network pangolin Created 0.3s
Volume pangolin_pangolin-data Created 0.0s
Container pangolin Healthy 14.0s
Container gerbil Started 12.2s
Container traefik Started 12.8s
Çıktı böyle bir şey ise kurulum başarılı olmuştur. Şimdi bize CrowdSec ile ilgili iki tane soru soracak.
=== CrowdSec Install ===
-
Would you like to install CrowdSec? (yes/no) (default: no):
CrowdSeckurulumunun yapılmasını istediğimiz için bu soruya varsayılanın aksineyescevabı veriyoruz. -
Ardından şöyle bir metin belirecek ve ardından CrowdSec yönetimi ile ilgili son bir soru soracak.
This installer constitutes a minimal viable CrowdSec deployment. CrowdSec will add extra complexity to your Pangolin installation and may not work to the best of its abilities out of the box. Users are expected to implement configuration adjustments on their own to achieve the best security posture. Consult the CrowdSec documentation for detailed configuration instructions.
- Are you willing to manage CrowdSec? (yes/no) (default: no): bu soruya varsayılan cevap olan
nocevabını vereceğiz. Bu sebeple hiç bir şey yazmadanentertuşuna basıyoruz.
Her şey tamam ise şöyle bir çıktıı sizi karşılayacaktır. Terminali kapatmayın. Buradaki Setup tokene ihtiyacımız var.
=== Setup Token ===
Waiting for Pangolin to generate setup token…
Setup token: inm3s748ox4nd9avguehmxmmu1mrxsoeThis token is required to register the first admin account in the web UI at:
https://pangolin.pangolin.test/auth/initial-setupSave this token securely. It will be invalid after the first admin is created.
Installation complete!
To complete the initial setup, please visit:
https://pangolin.pangolin.test/auth/initial-setup
Eğer Installation complete! yazısını ve url görüyorsanız kurulum başarılı olmuş demektir. URL’ye basıp hesabımızı açalım. URL’ye griiş yaptıktan sonra sizi şöyle bir ekran karşılayacaktır.
Az önceki çıktıdaki Setup tokeni alana kopyalayalım ve yönetici hesabımızı oluşturalım. Bu adımdan sonraki adımda sizden organisazyon oluşturmanızı isteyecek. Bu standart bir adım ancak burada bir husus var onu göstermem gerekli.
Burada Organization Name ve Organization ID’i istediğiniz ismi vereebilirsiniz.
Bizim yaptığımız gibi
Ancak alttaki subnet’e kendi ip adresinizi girmeniz daha iyi olabilir. (en azından biz öyle yaptık, aksini denemedik)
İp adresinizi öğrenmeniz gerekli. Bunun içinse uçbirime ip address yazmanız gerekli. Oradan ip adresinizi bulmanız gerek.
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:87:c6:46 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.170/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
valid_lft 2938sec preferred_lft 2938sec
inet6 fe80::5054:ff:fe87:c646/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Benim ip adresim 192.168.122.170/24 olduğu için netsub kısmına ben bunu yazdım. Bunun yerine başka bir şey yazsaydım çalışır mı diye denemedim. Bu bilgi de yazının sonunda kalsın ![]()




