Pardus 23-25 Pangolin Kurulumu

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 ===

  1. Do you want to install Pangolin as a cloud-managed (beta) node? (yes/no): sorusuna cevabımız no olmalıdır.

  2. Enter your base domain (no subdomain e.g. example.com): sorusuna ana alan adımızı girmeliyiz. (alt alan adı olmadan) örnek: pangolin.test

  3. 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 enter tuşuna basarak bu kısmı geçtik. Yani Pangolin arayüzüne pangolin.pangolin.test alt alan adından erişeceğiz.

  4. 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

  5. Do you want to use Gerbil to allow tunneled connections (yes/no) (default: yes): bunu varsayılan olan yes olarak seçtik. Bu sebeple hiçbir şey yazmadan enter tuşuna basarak geçtik.

=== Email Configuration ===

  1. Enable email functionality (SMTP) (yes/no) (default: no): biz email yapılandırmak istemedik, bu sebeple varsayılan değer olan no uygulansın diye enter tuşuna bastık.
    Bazı kişiler burayı yapmak isteyecektir. Yazılıma herhangi bir email bağlamak istiyorsanız buraya yes yazabilirsiniz.

=== 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 ===

  1. Would you like to install and start the containers? (yes/no) (default: yes): cevabımız varsayılan cevap olan yes olacağı için hiçbir şey yazmadan enter tuşuna basıp geçtik.

  2. Would you like to run Pangolin as Docker or Podman containers? (default: docker): kurulumda docker kullanacağımız için herhangi bir cevap yazmadan enter tuşuna basıp geçtik.

Ardından şöyle bir kurulum aşaması başlayacaktır:

Pulling the container images…
[+] Pulling 27/27
:heavy_check_mark: traefik Pulled 91.9s
:heavy_check_mark: 9824c27679d3 Pull complete 6.9s
:heavy_check_mark: bb80887cf619 Pull complete 7.1s
:heavy_check_mark: bacb9cc999f7 Pull complete 88.3s
:heavy_check_mark: 06eb2b935e74 Pull complete 88.4s
:heavy_check_mark: pangolin Pulled 250.1s
:heavy_check_mark: 6a088b2daae0 Pull complete 95.5s
:heavy_check_mark: 52719e552fdf Pull complete 95.7s
:heavy_check_mark: 016c0e952111 Pull complete 95.7s
:heavy_check_mark: f101252d8a7d Pull complete 95.8s
:heavy_check_mark: 82915740be99 Pull complete 95.9s
:heavy_check_mark: 54d9c996622e Pull complete 96.0s
:heavy_check_mark: 7d64e80ae6c0 Pull complete 244.6s
:heavy_check_mark: 8d17b5cb2625 Pull complete 245.7s
:heavy_check_mark: a2c245d2e1a5 Pull complete 245.8s
:heavy_check_mark: 1a6c12b67926 Pull complete 246.0s
:heavy_check_mark: 7d4eeb9181e7 Pull complete 246.1s
:heavy_check_mark: 0053a96b4383 Pull complete 246.2s
:heavy_check_mark: 05928576c7a7 Pull complete 246.3s
:heavy_check_mark: 874d2ba43900 Pull complete 246.3s
:heavy_check_mark: a8e7f939c3a6 Pull complete 246.5s
:heavy_check_mark: gerbil Pulled 84.5s
:heavy_check_mark: b71466b94f26 Pull complete 80.5s
:heavy_check_mark: 62f3b3d0017a Pull complete 80.7s
:heavy_check_mark: 9d48c30d4eaf Pull complete 80.8s
:heavy_check_mark: c433e2c89bbd Pull complete 80.9s
:heavy_check_mark: 7a3cad4e25a5 Pull complete 80.9s
Starting containers…
[+] Running 5/5
:heavy_check_mark: Network pangolin Created 0.3s
:heavy_check_mark: Volume pangolin_pangolin-data Created 0.0s
:heavy_check_mark: Container pangolin Healthy 14.0s
:heavy_check_mark: Container gerbil Started 12.2s
:heavy_check_mark: 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 ===

  1. Would you like to install CrowdSec? (yes/no) (default: no): CrowdSec kurulumunun yapılmasını istediğimiz için bu soruya varsayılanın aksine yes cevabı veriyoruz.

  2. 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.

  1. Are you willing to manage CrowdSec? (yes/no) (default: no): bu soruya varsayılan cevap olan no cevabını vereceğiz. Bu sebeple hiç bir şey yazmadan enter tuş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: inm3s748ox4nd9avguehmxmmu1mrxsoe

This token is required to register the first admin account in the web UI at:
https://pangolin.pangolin.test/auth/initial-setup

Save 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 :slight_smile:

4 Beğeni

Hocam ben de raspberry cihazı ev sunucumda cloudflare tunnels kullanıyorum, alternatifi olması harika olmuş. Müsait zamanda deneyeceğim. Teşekkürler.

2 Beğeni

Bunun için uzakta küçük bir sunucu şart o da belli hosting firmalarında 50-70₺’ye bulunabiliyor.

Eğer evdeki sunucu trafiği yalnızca size özelse bizim Pangolin’de size hesap açabilirim.

https://pangolin.arslansah.com.tr/

1 Beğeni

Selamunaleyküm,

Hocam elinize sağlık. Gerçekten aradığım bir konuydu.

1 Beğeni

Aleyküm selam, Teşekkür ederim :slight_smile:

Vaktim yeterse inşallah AWS S3 alternatifi olan MinIO için de kurulum dökümantasyonu hazırlamaya çalışacağım. :slight_smile:

2 Beğeni

Anladım meb hattına uyumlu uygun hangi firmalar var hocam, cloudflare tunnels ile bazen açıyor bazen açmıyor sitem.

Öğrenme ve bilgi amaçlı yapıyorum, casaos üzerinden ghost uygulaması ile yaptım. Ancak meb hattına bir türlü sağlıklı erişim sağlayamıyorum. Meb hattı dışında problem yok.

Son olarak amazon dan ücretsiz sunucu edinmiştim acaba olur mu, olursa rehberinizi beklerim.

1 Beğeni

Amazon konusunda maalesef fikrim yox. Biz yapımız gereği veriyi Türkiye dışına dolaşıma çıkartmama ilkesiyle hareket ediyoruz. Bu sebeple Cloudflare veya Amazon AWS gibi yazılımlar yerine yerel çözümler üretmeyi, maliyetleri azaltmayı ve veriyi Türkiye’de tutmayı amaçlıyoruz.

MEB hattına uyumlu tünel yazılımı var mı bilmiyorum, daha önce hiç MEB internetini tecrübe etmedim. Filtreye takılan websiteleri görebileceğim veya beyaz listenin bulunduğu bir sayfa veya belge var mı?

Sizin emreya.tr alan adı eğer MEB filtresine takılmıyorsa 40-60₺ küçük bir sunucuya bu alan adını bağlayıp Pangolin yazılımın buraya kursanız ve kendi tünelinizi kendi alan adınızdan açsanız daha iyi olabilir.

ÖRNEK
Uzak sunucu: pangolin.emreya.tr adresinde Pangolin çalışsa.

Yerel Sunucu: emreya.tr ve blog.emreya.tr adresi için buradan tünel ayarlasan istediğiniz başarıyla yapabilirsiniz.

@yusufsunetci hocam bir ara bizim alan adının beyaz listeye eklenmesi için talep açmıştı diye hatırlıyorum ama konunun takipçisi olamadım.

Bizim arslansah.com.tr alan adı eğer MEB filtresine takılmıyorsa pangolin.arslansah.com.tr adresinde size hesap oluşturabilirim. Anladığım kadar blog tarzı bir şey yapıyorsunuz, yüksek internet tüketmez. Bizim çalışmamızı ve işlerimizi engellemez, sunucu internetine fazla yük olmaz.

Verdiğiniz linklerin MEB filtresindeki durumları bu şekilde…

Peek 2025-09-29 12-00

1 Beğeni

Bizim Arslanşah filtreden muafmış :slight_smile:

MEB’te proje yapacaklara Pangolin’de tunnel özelliğini kullanmaları için hesap açabiliriz.

Yukarıdaki hususta bir değişiklik yaptık. MinIO S3 yazılımı yerine açık kaynak bir diğer alternatif olan GarageHQ S3 yazılımını kullanmaya karar verdik. Aradaki performans farkları aşağıdaki şekilde.

GarageHQ’nün kurulumunu burada anlattık.


1 Beğeni