Tropic Host

FreshRSS: Nedir ve VPS’e nasıl kurulur?

6 dk okuma
Tropic
FreshRSS: Nedir ve VPS’e nasıl kurulur?

FreshRSS: Algoritmasız kendi haber akışınız

Sosyal ağlar hangi gönderilerin önce gösterileceğine karar verir. Sonuç olarak önemli bir proje güncellemesi kolayca gözden kaçabilir ve yerini onlarca öneri alabilir. FreshRSS farklı çalışır: kaynakları siz seçersiniz ve yeni içerikler tek bir kronolojik akışta görünür.

FreshRSS’i kendi sunucunuza kurabilir ve RSS veya Atom akışı sağlayan bloglar, haber siteleri, yazılım güncellemeleri, forumlar, podcast’ler ve diğer kaynaklar için birleşik bir gelen kutusu olarak kullanabilirsiniz. Bu kılavuzda uygulamanın özellikleri, sunucu gereksinimleri ve Docker ile HTTPS kullanarak VPS’e kurulumu ele alınmaktadır.

Beş adımda FreshRSS

  1. Bir Linux VPS oluşturun ve örneğin rss.example.com gibi bir alt alan adını ona yönlendirin.
  2. Docker ve Docker Compose’u kurun.
  3. Otomatik HTTPS için FreshRSS’i Caddy ile birlikte çalıştırın.
  4. Alt alan adını açın, SQLite’ı seçin ve bir hesap oluşturun.
  5. Abonelikleri OPML’den içe aktarın veya siteleri manuel olarak ekleyin.

Bundan sonra VPS, kullanıcının bilgisayarı kapalı olsa bile kaynakları zamanlamaya göre kontrol eder.

FreshRSS nedir?

FreshRSS ücretsiz, self-hosted bir RSS ve Atom toplayıcısıdır. Self-hosted, uygulamanın ve veritabanının bir bulut hizmetinin altyapısı yerine sizin kontrol ettiğiniz bir sunucuda çalışması anlamına gelir.

RSS akışı, bir web sitesinin yeni içerik yayımlandığında güncellediği özel bir dosyadır. FreshRSS bu dosyaları seçilen kaynaklardan düzenli olarak alır ve girişlerini tek bir arayüzde birleştirir. Okunmamış makaleler, favoriler ve okuma geçmişi cihazlar arasında senkronize edilir.

Temel fikir basittir: kullanıcılar kimi takip edeceklerine ve yayınları hangi sırayla göreceklerine kendileri karar verir. FreshRSS girişleri etkileşime göre sıralamaz ve aboneliklerin arasına önerilen içerikler yerleştirmez.

FreshRSS özellikleri

ÖzellikKullanım amacı
Kategoriler, durumlar ve favorilerİş, teknik ve kişisel kaynakları ayırmak
Arama, filtreler ve kayıtlı sorgularSeçilen bir konudaki yayınları göstermek
OPML içe aktarma ve dışa aktarmaAbonelik listesini hızlıca taşımak
Google Reader API ve Fever APIUyumlu mobil ve masaüstü uygulamalarını bağlamak
WebSubDesteklenen kaynaklardan yayımdan hemen sonra giriş almak
Birden fazla kullanıcıAile veya ekip için ayrı hesaplar oluşturmak
Temalar ve eklentilerArayüzü değiştirmek ve özellik eklemek
XPath ve JSON FeedStandart RSS veya Atom akışı olmayan bazı kaynaklara abone olmak

Kayıtlı bir sorgu konu tabanlı ayrı bir akışa dönüşebilir; örneğin yalnızca güvenlik yayınlarını veya belirli bir ürünün güncellemelerini içeren bir akış oluşturulabilir. Sonuç FreshRSS içinde açılabilir ya da HTML veya RSS olarak yayımlanabilir; akış listeleri için OPML de kullanılabilir.

WebSub, uyumlu bir web sitesinin bir sonraki zamanlanmış kontrolü beklemek yerine FreshRSS’i yeni bir giriş hakkında bilgilendirmesini sağlar. Bunun çalışması için FreshRSS örneğinin geçerli bir genel adres üzerinden internetten erişilebilir olması gerekir.

FreshRSS özellikle geliştiriciler ve sistem yöneticileri için kullanışlıdır: proje blogları, sürümler, olay raporları ve güvenlik yayınları tek bir akışta toplanabilir. Günlük okuma için onlarca açık sekmenin yerini alır ve okuma durumunu tüm cihazlarda tam olarak senkronize eder.

FreshRSS sistem gereksinimleri

FreshRSS az kaynak gerektirir. SQLite, PostgreSQL, MariaDB ve MySQL’i destekler; manuel kurulum ise bir web sunucusu ve PHP 8.1 veya daha yenisini gerektirir. Resmî açıklamada 150 akış ve 22.000 makaleyle Raspberry Pi 1 üzerinde yapılan bir test bile yer alır.

Pratik başlangıç yapılandırmaları:

SenaryoCPURAMDepolamaVeritabanı
Kişisel akış1 vCPU1 GB10–20 GB SSDSQLite
Aile veya küçük ekip1–2 vCPU2 GB20–40 GB SSDSQLite veya harici veritabanı
Çok sayıda kullanıcı ve büyük arşiv2 vCPU’dan itibaren4 GB’dan itibaren40 GB SSD’den itibarenPostgreSQL veya MariaDB

Bunlar kesin minimumlar değil, kılavuz değerlerdir. Depolama tüketimi kaynak sayısına, yayın sıklığına ve geçmişin ne kadar süre saklandığına bağlıdır. Günün her saati güncelleme, harici erişim, mobil senkronizasyon ve WebSub gerektiğinde VPS ev bilgisayarından daha kullanışlıdır.

FreshRSS VPS’e Docker ile nasıl kurulur?

Aşağıdaki yapılandırmada FreshRSS Caddy’nin arkasında çalışır. Caddy harici istekleri kabul eder ve otomatik olarak TLS sertifikası alır.

Bir Linux VPS’e, docker compose komutuyla kurulmuş Docker’a, A kaydı sunucunun IP adresine yönelen bir alt alan adına ve açık 80 ile 443 portlarına ihtiyacınız vardır.

Adım 1. Bir dizin oluşturun

sudo mkdir -p /opt/freshrss
sudo chown "$USER":"$USER" /opt/freshrss
cd /opt/freshrss

Adım 2. compose.yaml oluşturun

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    restart: unless-stopped
    logging:
      options:
        max-size: 10m
    environment:
      TZ: Etc/UTC
      CRON_MIN: '3,33'
      FRESHRSS_ENV: production
      TRUSTED_PROXY: 172.16.0.0/12
    volumes:
      - freshrss_data:/var/www/FreshRSS/data
      - freshrss_extensions:/var/www/FreshRSS/extensions

  caddy:
    image: caddy:2
    container_name: freshrss-caddy
    restart: unless-stopped
    depends_on:
      - freshrss
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  freshrss_data:
  freshrss_extensions:
  caddy_data:
  caddy_config:

CRON_MIN: '3,33' her saatin 3. ve 33. dakikasında akış kontrollerini başlatır. FreshRSS tek bir akışı yaklaşık 20 dakikada birden daha sık güncellemez; bu nedenle görevi daha sık çalıştırmak genellikle gereksizdir.

Adım 3. Caddyfile oluşturun

rss.example.com {
    reverse_proxy freshrss:80
}

Alan adını kendi alan adınızla değiştirin. DNS kaydı yayıldığında ve portlara erişilebildiğinde Caddy sertifikayı otomatik olarak alır ve yeniler.

Adım 4. FreshRSS’i başlatın

docker compose up -d
docker compose ps

Logları şu komutla inceleyebilirsiniz:

docker compose logs -f --tail=100

https://rss.example.com adresini açın. Kurulum sihirbazı ortamı kontrol eder, bir veritabanı seçmenizi ister ve ilk kullanıcıyı oluşturur. SQLite, ayrı bir veritabanı container’ı gerektirmediği için kişisel sunucu için en basit seçenektir.

İlk yapılandırma

FreshRSS çoğu zaman bir web sitesinin normal adresinden RSS veya Atom akışını keşfedebilir. Otomatik keşif çalışmazsa akışın doğrudan URL’sini girin. Feedly, Inoreader ve diğer okuyuculardaki abonelikler OPML üzerinden kolayca taşınabilir.

Kaynakları hemen “mutlaka oku”, “iş”, “güvenlik”, “uzun okumalar” ve “arka plan okuması” gibi kategorilere ayırın. Çok yüksek hacimli haber siteleri gerçekten önemli güncellemeleri ana akıştan uzaklaştırmamalıdır.

Bir uygulamayı bağlamak için kimlik doğrulama ayarlarında API’yi etkinleştirin ve profilde ayrı bir API parolası belirleyin. Google Reader API adresi şöyle görünür:

https://rss.example.com/api/greader.php

Ana hesapla API için aynı parolayı kullanmamak daha iyidir.

Okunmamış makaleler arasında kaybolmaktan nasıl kaçınılır?

FreshRSS küçük bir yapılandırmadan sonra en kullanışlı haline gelir:

  • ana akışta yalnızca önemli kaynakları tutun;
  • gereksiz bölümleri otomatik olarak okundu işaretlemek için filtreleri kullanın;
  • ürünler, yazarlar ve konular için arama sorgularını kaydedin;
  • istatistikleri düzenli olarak gözden geçirin ve yalnızca gürültü üreten kaynakları kaldırın.

Eklentiler okuma süresi tahmini, kelime vurgulama, görsel proxy’si, YouTube gömme, webhook bildirimleri ve uyumlu bir LLM API üzerinden makale sınıflandırması ekleyebilir. Üçüncü taraf eklentileri yalnızca güvenilir kaynaklardan kurun.

Güncellemeler, güvenlik ve yedekler

Container’ları güncellemek için çalıştırın:

cd /opt/freshrss
docker compose pull
docker compose up -d

Büyük bir güncellemeden önce yedek oluşturun. freshrss_data volume’ü kullanıcı ayarlarını ve SQLite kullanıldığında makale veritabanını içerir. Eklenti kullanıyorsanız freshrss_extensions volume’ünü de koruyun. PostgreSQL, MariaDB ve MySQL ayrı bir veritabanı dökümü gerektirir.

Minimum güvenlik önlemleri:

  • HTTPS kullanın;
  • gerekli hesapları oluşturduktan sonra açık kaydı devre dışı bırakın;
  • gerekmedikçe anonim erişimi etkinleştirmeyin;
  • ayrı bir API parolası kullanın;
  • FreshRSS’i ve eklentilerini düzenli olarak güncelleyin;
  • yedeği VPS dışında tutun.

OPML dışa aktarımı tam bir yedeğin yerini tutmaz, ancak abonelik listesini uyumlu herhangi bir RSS okuyucusunda hızlıca geri yüklemeyi mümkün kılar.

tropic.host VPS üzerinde FreshRSS

FreshRSS iyi bir ilk self-hosted hizmettir: az kaynak gerektirir, Docker’da çalışır ve abonelikler içe aktarıldıktan hemen sonra faydalı hale gelir. Genel bir VPS 24/7 akış güncellemeleri, telefondan erişim ve doğru WebSub çalışması sağlar.

Kişisel bir kurulum için küçük bir Linux yapılandırması genellikle yeterlidir. tropic.host üzerinde FreshRSS’e kendi alt alan adını atayabilir, giriş seviyesi bir VPS ile başlayabilir ve hizmeti ev bilgisayarınızdan bağımsız tutabilirsiniz. Plan seçerken kararlılık, arşiv depolaması ve yedekler, büyük bir işlem gücü rezervinden daha önemlidir.

Sonuç

FreshRSS onlarca web sitesini algoritmik sıralama olmadan yönetilebilir bir kişisel akışa dönüştürür. Mobil istemcileri, filtreleri, kayıtlı sorguları, birden fazla kullanıcıyı, WebSub’u ve eklentileri desteklerken küçük bir VPS için yeterince hafif kalır.

Başlamak için Docker, bir alan adı ve SQLite yeterlidir. Kurulumdan sonra kategorileri, otomatik güncellemeleri, HTTPS’yi ve yedekleri yapılandırın. FreshRSS bundan sonra yalnızca seçtiğiniz kaynakları gösterir ve okuma kontrolünü kullanıcının elinde tutar.

FAQ

FreshRSS ücretsiz mi?

Evet. FreshRSS AGPL-3.0 lisansı altında dağıtılır. Uygulama kiralık bir VPS’te çalışıyorsa yalnızca altyapı için ödeme yapmanız gerekir.

FreshRSS alan adı olmadan kullanılabilir mi?

Evet, container portunu açarak kullanılabilir. Kalıcı kullanım için alan adı ve HTTPS yapılandırmak daha iyidir; bu, güvenli erişimi, mobil senkronizasyonu ve WebSub’u kolaylaştırır.

FreshRSS ne kadar RAM gerektirir?

Kişisel bir akış için 1 GB RAM ve SQLite ile başlamak makuldür. Büyük arşiv, birden fazla kullanıcı veya ek hizmetler daha fazla bellek gerektirir.

RSS’i olmayan bir web sitesi ekleyebilir miyim?

Bazen. FreshRSS XPath üzerinden web scraping’i destekler, ancak kurallar manuel olarak yapılandırılmalıdır. Web sitesinin düzeni değişirse bu kaynağın düzeltilmesi gerekebilir.

Neler yedeklenmelidir?

Öncelikle freshrss_data volume’ünü yedekleyin: SQLite kullanıldığında makale veritabanını içerir. Ayrıca freshrss_extensions volume’ünü koruyun ve harici veritabanlarının dökümlerini oluşturun.