Açık Kaynak Uygulamalar

    Miniflux Nedir ve Minimalist RSS Okuyucu Kurulumu

    Sadelik ve düşük kaynak tüketimine odaklanan, tek binary çalışan açık kaynak RSS okuyucu Miniflux rehberi.

    11 dk okuma Güncellendi: 10 Temmuz 2026

    Sosyal medya akışlarının algoritmalarla dolduğu, aynı içeriğin defalarca karşınıza çıktığı bir dönemde RSS yeniden değer kazandı. Takip etmek istediğiniz blogları, haber sitelerini ve podcast'leri tek bir yerde, kronolojik ve reklamsız görmek isteyenler için beslemeler (feed) hâlâ en temiz yöntem. İşte Miniflux tam da bu ihtiyaca cevap veren, "az ama öz" felsefesiyle yazılmış açık kaynak bir RSS okuyucudur. Adındaki "mini" sadece bir slogan değil, projenin tüm mimari kararlarını belirleyen bir tercih.

    Bu rehberde Miniflux'un neden bu kadar hafif olduğunu, tek binary + PostgreSQL yapısının ne anlama geldiğini ve kendi sunucunuza nasıl kuracağınızı adım adım göreceğiz. Besleme ekleme, kısayollar, Wallabag ve webhook entegrasyonları ile FreshRSS karşılaştırmasını da işleyeceğiz. Amaç, kurulum sonrası kafanızda soru işareti kalmadan, günlük okuma akışınızı kendi kontrolünüze almanız.

    Miniflux Nedir ve Neden Farklıdır#

    Miniflux, Go dili ile yazılmış, tek bir çalıştırılabilir dosya (binary) olarak dağıtılan bir RSS/Atom/JSON feed okuyucusudur. Frédéric Guillot tarafından geliştirilen proje, bilinçli olarak minimalist bir yol izler: gereksiz eklenti, tema mağazası, sürükle-bırak panel yapısı gibi şişkinlik yaratan özellikler yoktur. Bunun yerine hızlı yükleme, klavye kısayolları ve okunabilirlik ön plandadır.

    Miniflux'u diğer okuyuculardan ayıran en belirgin nokta, "opinionated" yani net görüşlü olmasıdır. Geliştirici, kullanıcıyı seçeneklerle boğmak yerine iyi çalışan varsayılanlar sunar. Örneğin makale içeriğini otomatik olarak "okunabilir" biçime dönüştüren bir ayıklayıcı (scraper) yerleşik gelir, harici JavaScript çalıştırılmaz, gizlilik odaklı bir tasarım benimsenir. Reklam yoktur, izleme (tracking) yoktur, telemetri yoktur.

    Bir başka güçlü yanı, tam teşekküllü bir REST API sunmasıdır. Bu sayede mobil istemciler (Reeder, NetNewsWire, FeedMe gibi) doğrudan Miniflux'a bağlanabilir. Ayrıca Google Reader ve Fever API uyumluluğu da mevcut olduğundan, eski bir istemciniz varsa büyük olasılıkla çalışır. Yani sunucuyu bir kez kurup, okumayı istediğiniz cihazdan yaparsınız.

    Tek Binary ve PostgreSQL Mimarisi#

    Miniflux'un mimarisi kasıtlı olarak sadedir. Uygulamanın tamamı tek bir Go binary'sinden ibarettir; Ruby, PHP veya Node.js gibi bir çalışma zamanı (runtime) kurmanıza gerek yoktur. Statik olarak derlendiği için harici kütüphane bağımlılığı da neredeyse yoktur. Bu, "bağımlılık cehennemi" dediğimiz sorunu büyük ölçüde ortadan kaldırır.

    Veri tarafında ise yalnızca PostgreSQL desteklenir. Bazı kullanıcılar "keşke SQLite de olsaydı" der, ancak bu tercih de bilinçlidir: PostgreSQL'in tam metin arama (full-text search) yetenekleri, eşzamanlılık yönetimi ve güvenilirliği, feed veritabanı gibi sürekli yazma yapan bir yük için idealdir. Aşağıda tipik bir Miniflux kaynak profilini görebilirsiniz.

    BileşenTipik RAMDiskNot
    Miniflux binary25-60 MB~30 MBYük altında bile çok stabil
    PostgreSQL80-150 MBFeed sayısına bağlıAsıl kaynak burada
    Toplam (küçük kurulum)~150 MB1-2 GB512 MB RAM'de rahat çalışır

    Bu tablo, Miniflux'u neden bir "eski/küçük VPS" için ideal aday yaptığını özetliyor. 512 MB RAM'li en küçük planlarda bile rahatça döner. Kendi sanal sunucunuzu ararken VDS veya sanal sunucu planları bu iş için fazlasıyla yeterli olacaktır; hatta paylaşımlı bir hosting yerine kontrolün tamamen sizde olduğu bir VPS, self-hosted uygulamalar için genellikle daha doğru bir seçimdir.

    Miniflux Kurulumu (Adım Adım)#

    Kurulum için en temiz yol Docker Compose kullanmaktır, çünkü hem Miniflux'u hem de PostgreSQL'i tek dosyada tanımlarsınız. Aşağıdaki docker-compose.yml üretim ortamı için makul bir başlangıçtır.

    services:
      miniflux:
        image: miniflux/miniflux:latest
        restart: always
        ports:
          - "127.0.0.1:8080:8080"
        depends_on:
          db:
            condition: service_healthy
        environment:
          - DATABASE_URL=postgres://miniflux:GucluBirSifre@db/miniflux?sslmode=disable
          - RUN_MIGRATIONS=1
          - CREATE_ADMIN=1
          - ADMIN_USERNAME=admin
          - ADMIN_PASSWORD=IlkGirisSifresi
          - BASE_URL=https://rss.ornekalanadi.com
    
      db:
        image: postgres:16-alpine
        restart: always
        environment:
          - POSTGRES_USER=miniflux
          - POSTGRES_PASSWORD=GucluBirSifre
          - POSTGRES_DB=miniflux
        volumes:
          - miniflux-db:/var/lib/postgresql/data
        healthcheck:
          test: ["CMD", "pg_isready", "-U", "miniflux"]
          interval: 10s
          start_period: 30s
    
    volumes:
      miniflux-db:
    

    Buradaki en kritik değişkenler RUN_MIGRATIONS=1 (veritabanı şemasını otomatik oluşturur), CREATE_ADMIN=1 (ilk yönetici hesabını yaratır) ve BASE_URL'dir. BASE_URL'yi doğru vermek çok önemlidir, aksi halde besleme ikonları ve OPML bağlantıları yanlış adres üretir. İlk açılıştan sonra CREATE_ADMIN ve ADMIN_PASSWORD satırlarını kaldırmanız önerilir.

    Docker kullanmadan, doğrudan binary ile kurmak isterseniz de yol açıktır. Debian/Ubuntu için .deb paketi indirip PostgreSQL'i elle hazırlarsınız.

    # PostgreSQL veritabanı ve kullanıcı oluştur
    sudo -u postgres psql <<'SQL'
    CREATE USER miniflux WITH PASSWORD 'GucluBirSifre';
    CREATE DATABASE miniflux OWNER miniflux;
    ALTER DATABASE miniflux SET timezone TO 'Europe/Istanbul';
    SQL
    
    # Miniflux paketini kur
    sudo dpkg -i miniflux_2.x.x_amd64.deb
    
    # Ortam dosyasını düzenle
    sudo nano /etc/miniflux.conf
    

    /etc/miniflux.conf içeriği kısa ve nettir. ini formatına benzer basit anahtar-değer satırlarından oluşur.

    DATABASE_URL=postgres://miniflux:GucluBirSifre@localhost/miniflux?sslmode=disable
    RUN_MIGRATIONS=1
    CREATE_ADMIN=1
    ADMIN_USERNAME=admin
    ADMIN_PASSWORD=IlkGirisSifresi
    BASE_URL=https://rss.ornekalanadi.com
    LISTEN_ADDR=127.0.0.1:8080
    

    Ardından servisi başlatın: sudo systemctl enable --now miniflux. Bu noktada Miniflux 127.0.0.1:8080 üzerinde dinliyor olacak, ancak dışarıya doğrudan açmak yerine önüne bir ters vekil (reverse proxy) koyup TLS sonlandırması yapmak en doğrusu.

    Ters Vekil ve HTTPS#

    Nginx ile önyüz kurmak hem HTTPS'i hem de sıkıştırmayı düzgün yönetmenizi sağlar. Aşağıdaki blok tipik bir yapılandırmadır.

    server {
        listen 443 ssl http2;
        server_name rss.ornekalanadi.com;
    
        ssl_certificate     /etc/letsencrypt/live/rss.ornekalanadi.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/rss.ornekalanadi.com/privkey.pem;
    
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    Alan adınızı Miniflux sunucusuna yönlendirmek için basit bir A kaydı yeterlidir. DNS tarafında şuna benzer bir satır oluşturursunuz.

    rss    IN    A    203.0.113.42
    

    Sertifika için Let's Encrypt (certbot) idealdir, ancak kurumsal veya joker (wildcard) ihtiyaçlarınız varsa profesyonel bir SSL sertifikası tercih edebilirsiniz. Alan adınız yoksa domain kaydı ile başlayabilir, sunucu tarafını da sunucu yönetimi hizmetiyle bize bırakabilirsiniz.

    Besleme (Feed) Ekleme ve Yönetimi#

    Miniflux'a giriş yaptıktan sonra ilk işiniz besleme eklemek olacaktır. Üst menüdeki "Add Subscription" (Abonelik Ekle) bölümüne gidip bir site adresi yapıştırmanız yeterli; Miniflux sayfayı tarayıp içindeki feed bağlantılarını otomatik keşfeder. Doğrudan RSS/Atom adresini bilmiyorsanız bile ana sayfa URL'sini vermeniz çoğu zaman işe yarar.

    Beslemeleri kategorilere ayırabilirsiniz. Örneğin "Teknoloji", "Haber", "Kişisel Bloglar" gibi kategoriler oluşturup her feed'i uygun gruba atarsınız. Bu, arayüzü düzenli tutar. Her besleme için ayrı ayrı güncelleme sıklığı, içerik ayıklama (scraper) kuralı ve yeniden yazma (rewrite) filtreleri tanımlayabilirsiniz. Örneğin sadece özet yayınlayan bir siteden tam metin çekmek için "Fetch original content" seçeneğini açarsınız.

    Miniflux klavye odaklı bir okuyucudur ve gerçek verimi kısayolları öğrenince alırsınız. Sık kullanılanları aşağıda topladık.

    Kısayolİşlev
    j / kSonraki / önceki makale
    vMakaleyi orijinal sitede aç
    dİçeriği indir / tam metni getir
    mOkundu / okunmadı işaretle
    fFavorilere (yıldız) ekle
    g sonra uOkunmamışlara git
    ?Tüm kısayolları göster

    Mevcut bir okuyucudan geçiş yapıyorsanız OPML dosyanızı içe aktarabilirsiniz. Ayarlar bölümünden OPML export/import ile tüm aboneliklerinizi tek seferde taşırsınız; bu, feed listenizi bir okuyucuya kilitlenmeden özgür tutmanın en pratik yoludur. Benzer bir taşıma mantığını web siteniz için de site taşıma hizmetimizde uyguluyoruz.

    Entegrasyonlar: Wallabag, Webhook ve Diğerleri#

    Miniflux minimalist olsa da entegrasyon konusunda cömerttir. Ayarlar altındaki "Integrations" sekmesi, okuduğunuz makaleleri harici servislere göndermenizi sağlar. En popülerlerinden biri Wallabag'dir: "daha sonra oku" listenizi kendi sunucunuzda tutmak istiyorsanız, bir makaleyi tek tuşla Wallabag'e kaydedebilirsiniz. Aynı şekilde Pocket, Instapaper, Linkding, Shaarli ve Nunux Keeper gibi servisler de desteklenir.

    Otomasyon severler için asıl güçlü özellik webhook desteğidir. Miniflux, yeni bir makale geldiğinde önceden tanımladığınız bir URL'ye JSON gövdeli bir POST isteği gönderebilir. Bu, akışınızı bir otomasyon platformuna bağlamanın kapısını açar. Örneğin belirli anahtar kelimeleri içeren makaleleri Telegram'a düşürmek, bir tabloya kaydetmek veya e-posta özeti oluşturmak isteyebilirsiniz.

    Tam da bu noktada n8n gibi bir iş akışı otomasyon aracı devreye girer: Miniflux'un webhook'unu bir n8n tetikleyicisine bağlayıp koşullu mantık, filtreleme ve çok adımlı bildirimler kurabilirsiniz. Benzer biçimde, ekip içi bilgi paylaşımı için makaleleri bir belge tabanına aktarmak isterseniz Outline gibi bir wiki'ye köprü kurmak mantıklıdır. Webhook imzasını (signature) doğrulayarak isteğin gerçekten Miniflux'tan geldiğinden emin olmanız güvenlik açısından önemlidir.

    Miniflux'un REST API'si de ayrı bir güçtür. API token'ı oluşturup harici uygulamalardan feed ekleyebilir, okundu işaretleyebilir veya içeriği çekebilirsiniz. Basit bir örnek olarak, komut satırından tüm okunmamış girdileri saymak isterseniz:

    curl -s -H "X-Auth-Token: SIZIN_API_TOKENINIZ" \
      "https://rss.ornekalanadi.com/v1/entries?status=unread&limit=1" \
      | grep -o '"total":[0-9]*'
    

    Bu tür otomasyonları kurarken, uygulama tabanlı çözümler için App Center kataloğumuza ve otomasyon fikirleri için araçlar bölümüne göz atmanızı öneririm.

    Miniflux ve FreshRSS Karşılaştırması#

    Self-hosted RSS dünyasında en çok karşılaştırılan iki isim Miniflux ve FreshRSS'tir. İkisi de mükemmel projeler, ancak felsefeleri farklı. FreshRSS PHP tabanlıdır, SQLite/MySQL/PostgreSQL destekler, eklenti ekosistemi ve tema seçenekleri daha zengindir. Miniflux ise Go binary'si, sadece PostgreSQL ve "az özellik, çok istikrar" yaklaşımıyla ayrışır. Aşağıdaki tablo temel farkları özetliyor.

    KriterMinifluxFreshRSS
    TeknolojiGo (tek binary)PHP
    VeritabanıYalnızca PostgreSQLSQLite, MySQL, PostgreSQL
    Kaynak kullanımıÇok düşükDüşük-orta
    Eklenti/temaYok (bilinçli)Zengin
    Kurulum kolaylığıÇok kolay (binary/Docker)PHP hosting'de kolay
    APIREST + Google Reader + FeverGoogle Reader + Fever
    FelsefeMinimalizmEsneklik

    Karar verirken kendinize şunu sorun: "Ben ne istiyorum?" Eğer paylaşımlı bir PHP web hosting veya WordPress hosting hesabınız varsa ve ayrı bir VPS kurmak istemiyorsanız FreshRSS pratik olabilir, çünkü PHP her yerde çalışır. Ama elinizde bir VPS varsa ve "kur, unut, sadece çalışsın" diyorsanız Miniflux çoğu kullanıcı için daha huzurlu bir tercihtir. Kişisel deneyimimde Miniflux, aylarca dokunmadan çalışan, güncellemesi tek komut olan bir uygulama; bu istikrar tek başına çok değerli.

    Performans, Bakım ve Güvenlik İpuçları#

    Miniflux zaten hafif olsa da, birkaç iyi alışkanlık kurulumunuzu uzun vadede sağlıklı tutar. İlk olarak veritabanı yedeği alın. PostgreSQL için pg_dump ile günlük bir yedek yeterlidir ve bunu bir cron görevine bağlayabilirsiniz.

    # Günlük Miniflux veritabanı yedeği
    pg_dump -U miniflux miniflux | gzip > /yedek/miniflux-$(date +%F).sql.gz
    

    Bu yedeği düzenli olarak sunucu dışına, farklı bir konuma taşımanız kritik. Otomatik ve dış konumlu bir çözüm isterseniz yedekleme hizmetimiz bu işi sizin için üstlenir. Ayrıca cleanup-frequency-hours ve arşivleme ayarlarıyla eski, okunmuş makaleleri periyodik temizleyerek veritabanının şişmesini önlemek de akıllıca.

    Güvenlik tarafında birkaç madde öne çıkar. Miniflux'u mutlaka HTTPS arkasında çalıştırın ve BASE_URL'yi https:// ile başlatın. Yönetici parolasını güçlü tutun; mümkünse OAuth (Google, GitHub) veya harici kimlik doğrulama entegrasyonunu kullanın. Sunucuyu internete açık bir uygulama olarak düşünüp bir güvenlik duvarı katmanı eklemek isterseniz WAF ve DDoS koruma çözümlerimiz devreye girebilir. Uygulama kendisi az saldırı yüzeyi sunar (harici JS çalıştırmaz, kullanıcı içeriğini sanitize eder), ancak önündeki ters vekili ve işletim sistemini güncel tutmak sizin sorumluluğunuzda.

    Son olarak güncelleme. Docker kullanıyorsanız docker compose pull && docker compose up -d ile yeni sürüme geçer, migration'lar otomatik uygulanır. Binary kurulumda ise yeni .deb paketini kurup servisi yeniden başlatmanız yeterli. Bu sadeliği sağlayan şey, en başta bahsettiğimiz tek binary mimarisidir; işte teoride konuştuğumuz avantaj pratikte bakım maliyetini böyle düşürür.

    Sıkça Sorulan Sorular#

    Miniflux ücretsiz mi?#

    Evet, Miniflux'un kendi barındırdığınız (self-hosted) sürümü tamamen ücretsiz ve açık kaynaktır, Apache 2.0 lisansı ile dağıtılır. Bunun yanında geliştiricinin sunduğu ücretli bir bulut (hosted) sürümü de vardır; sunucu kurmak istemeyenler aylık küçük bir ücret karşılığında hazır bir örnek kullanabilir. Kaynak kodunu incelemek, katkı yapmak veya kendi sunucunuza kurmak isteyenler için maliyet yalnızca barındırma giderinizden ibarettir.

    Miniflux neden SQLite desteklemiyor?#

    Geliştirici bunu bilinçli bir mimari karar olarak açıklıyor. PostgreSQL'in tam metin arama, eşzamanlı yazma yönetimi ve veri bütünlüğü garantileri, sürekli feed güncellemesi yapan bir uygulama için daha sağlam bir temel sunuyor. Tek veritabanına odaklanmak, projenin bakım yükünü ve test yüzeyini de azaltıyor. Bu nedenle Miniflux her zaman yalnızca PostgreSQL ile çalışır ve yakın gelecekte bunun değişmesi beklenmiyor.

    Mevcut Feedly veya Inoreader aboneliklerimi taşıyabilir miyim?#

    Çoğu popüler okuyucu, abonelik listenizi OPML dosyası olarak dışa aktarma imkânı verir. Feedly, Inoreader veya başka bir okuyucudan bu OPML dosyasını indirip Miniflux'un "Import OPML" bölümünden yüklediğinizde tüm feed'leriniz kategorileriyle birlikte aktarılır. Okunmuş/okunmamış durumu ve yıldızlı makaleler genellikle taşınmaz, ancak abonelik yapınız birebir gelir. Bu sayede geçiş birkaç dakika sürer.

    Miniflux'u mobil cihazımdan kullanabilir miyim?#

    Miniflux'un yerleşik web arayüzü mobil uyumludur, yani telefonun tarayıcısından rahatça okuyabilirsiniz. Bunun ötesinde REST, Google Reader ve Fever API uyumluluğu sayesinde Reeder, NetNewsWire, FeedMe ve Fluent Reader gibi birçok mobil istemci doğrudan sunucunuza bağlanabilir. Uygulamaya API adresinizi, kullanıcı adınızı ve oluşturduğunuz API token'ını girmeniz yeterli olur.

    Kaç feed ve makale için ölçeklenir?#

    Miniflux binlerce feed ve yüz binlerce makale ile rahatça çalışır; asıl sınırlayıcı faktör uygulamanın kendisi değil, PostgreSQL'e ayırdığınız kaynaklardır. Birkaç yüz feed'lik kişisel bir kurulum 512 MB RAM'li bir VPS'te sorunsuz döner. Feed sayısı çok arttıkça güncelleme sıklığını ayarlamak, eski makaleleri arşivlemek ve veritabanına biraz daha RAM vermek performansı korur. Pratikte tekil kullanıcılar için ölçekleme neredeyse hiç sorun olmaz.

    Kapanış#

    Miniflux, "yazılım az iş yaparsa daha iyi yapar" fikrinin güzel bir örneği. Tek binary yapısı, düşük kaynak tüketimi ve dürüst gizlilik yaklaşımıyla, kendi okuma akışını kontrol etmek isteyen herkes için sağlam bir tercih. Kurulumu bir öğleden sonranızı almaz, ardından aylarca dokunmadan çalışır; işte self-hosted bir uygulamadan beklediğimiz tam da budur.

    Miniflux'u kendi altyapınızda çalıştırmak için hızlı ve uygun fiyatlı bir VDS ya da sanal sunucu yeterli. Alan adı, SSL ve sunucu kurulumunu tek elden halletmek isterseniz domain, SSL sertifikası ve sunucu yönetimi hizmetlerimiz devrede. Kurulum, güncelleme ve yedekleme kısımlarını uzmanlarımıza bırakıp siz sadece okumaya odaklanmak isterseniz Clou.TR ekibi bir tık uzağınızda. Bugün küçük bir sunucuyla başlayın, akışınızı algoritmalardan geri alın.

    rssokumaself-hosted

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.