Polr ile URL Shortener Altyapısı Oluşturma

Merhaba, bu yazıda open source bir tool olan Polr ile, kendi URL shortener altyapımızı oluşturacağız.
Gereksinimler:
- Linux Server (Ubuntu, CentOS vs.)
- Docker
- Docker Compose
- Git
- NGINX
- Yönetimi sizde olan bir adet domain.
İlk olarak ilgili repoyu makineye clone’luyoruz ve docker-polr dizinine geçiyoruz.
|
1 2 3 |
mkdir /etc/polr && cd /etc/polr git clone https://github.com/ajanvier/docker-polr.git cd docker-polr |
Dizin içinde yer alan .env.example dosyasının bir kopyasını .env adıyla oluşturuyoruz.
|
1 |
cp .env.example .env |
Dosya içerisinde edit yapacağımız yerler Admin ve Configs kısımları. Admin kısmında UI tarafı için login bilgilerini, configs kısmında ise hangi domain ile short işlemi gerçekleştireceğimizi belirtiyoruz. Ben nurig.link domaini ile işlem gerçekleştireceğim. Admin kısmını kendinize göre doldurabilirsiniz.
|
1 2 3 4 5 6 7 8 |
# Admin ADMIN_USERNAME=login-user ADMIN_PASSWORD=login-password # Configs APP_NAME=nurig.link APP_PROTOCOL=https:// APP_ADDRESS=nurig.link |
Dizin içerisindeki docker-compose.yml tarafında da, isterseniz uygulama portlarını, container name’leri vs. değiştirebilirsiniz. (Uygulamanın default portu 8080 olarak set edilmiştir.)
Daha sonrasında aşağıdaki komut ile uygulamamızı ayağa kaldırıyoruz.
|
1 |
docker compose up -d |
Komut sonrası çıktı aşağıdaki gibi olmalıdır.
|
1 2 3 |
[+] Running 2/2 ⠿ Container mariadb Started 0.8s ⠿ Container polr Started |
Sırada, uygulamamızı host etmek için gerekli olan NGINX kurulumu var. Aşağıdaki komut ile kurulumu gerçekleştiriyoruz.
|
1 |
apt install nginx |
Kurulum işleminden sonra nurig.link‘in NGINX config’ini ayarlıyoruz.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
vi /etc/nginx/conf.d/nurig.link.conf server { listen 80; server_name nurig.link; location / { proxy_pass $scheme://0.0.0.0:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; } } |
Daha sonra aşağıdaki komut ile NGINX‘i reload ediyoruz.
|
1 |
nginx -s reload |
Makine üzerindeki tüm kurulumlarımızı tamamladık. Sırada, domain adresimize ait A kaydı oluşturmak kaldı. Kurulum yaptığımız sunucunun IP’si ile A kaydını oluşturuyoruz. A kayıtları, anormal bir durum olmadıkça 3-5dk içerisinde global DNS sunucularında güncellenir.
Bu kısımdaki adımlar domaini satın aldığınız firmaya göre değişiklik gösterebilir. Ben domain adresimi Cloudflare üzerinde barındırıyorum. DNS, SSL, HTTPS redirect işlemlerinde yönetim kolaylığı oldukça fazla.
Son olarak browser’a domain adresinizi girerek URL shortener uygulamanızı kullanmaya başlayabilirsiniz. Polr’un, API desteği sunduğunu da hatırlatalım.
Örnek URL: https://nurig.link/blog
nurig.link demo olarak açık kalmaya devam edecek. Dilerseniz sizlerde kullanabilirsiniz 🙂
Bir sonraki yazıda görüşmek üzere.
