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
- Bir Linux VPS oluşturun ve örneğin
rss.example.comgibi bir alt alan adını ona yönlendirin. - Docker ve Docker Compose’u kurun.
- Otomatik HTTPS için FreshRSS’i Caddy ile birlikte çalıştırın.
- Alt alan adını açın, SQLite’ı seçin ve bir hesap oluşturun.
- 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
| Özellik | Kullanım amacı |
|---|---|
| Kategoriler, durumlar ve favoriler | İş, teknik ve kişisel kaynakları ayırmak |
| Arama, filtreler ve kayıtlı sorgular | Seçilen bir konudaki yayınları göstermek |
| OPML içe aktarma ve dışa aktarma | Abonelik listesini hızlıca taşımak |
| Google Reader API ve Fever API | Uyumlu mobil ve masaüstü uygulamalarını bağlamak |
| WebSub | Desteklenen kaynaklardan yayımdan hemen sonra giriş almak |
| Birden fazla kullanıcı | Aile veya ekip için ayrı hesaplar oluşturmak |
| Temalar ve eklentiler | Arayüzü değiştirmek ve özellik eklemek |
| XPath ve JSON Feed | Standart 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ı:
| Senaryo | CPU | RAM | Depolama | Veritabanı |
|---|---|---|---|---|
| Kişisel akış | 1 vCPU | 1 GB | 10–20 GB SSD | SQLite |
| Aile veya küçük ekip | 1–2 vCPU | 2 GB | 20–40 GB SSD | SQLite veya harici veritabanı |
| Çok sayıda kullanıcı ve büyük arşiv | 2 vCPU’dan itibaren | 4 GB’dan itibaren | 40 GB SSD’den itibaren | PostgreSQL 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/freshrssAdı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 psLogları şu komutla inceleyebilirsiniz:
docker compose logs -f --tail=100https://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.phpAna 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 -dBü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.
