selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

moonmoon logo

Self-host moonmoon

9.0.0-rc.3

Simple feed aggregator blending RSS feeds into one page

BetaOpen SourceOther
Updated8 years ago
LanguagePHP
Setup difficultyEasy
Stars
158
Install with Linux

What is moonmoon?

moonmoon is a lightweight PHP feed aggregator (planet-style) that merges articles from multiple RSS/Atom feeds into a single web page. It is designed for simplicity: no database, no background cron jobs required, and no archiving, comments, or voting features. Configuration is stored in a YAML file. It includes an administration panel for managing feeds. The project is developed by Maurice Svay and contributors, released under the BSD-3-Clause license. It runs on PHP 5.6+ (PHP 7 preferred) with the php-xml extension, and can be deployed on shared hosting via FTP, on dedicated servers using Composer, or via Docker images (though the Docker images are noted as not production-ready).

Should you self-host moonmoon?

moonmoon scores 41/100 on selfhost.directory (how scoring works) and ranks #6 of 6 in Feed Aggregator. It has 158 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. It is Other-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is Nextcloud News (61/100, 1 012 stars). It scores higher overall, so compare the two before you pick. See moonmoon vs Nextcloud News side by side.

Features

  • Administration Panel
  • Category filtering
  • Feed Aggregation
  • Feed caching
  • Multi-language Support
  • No cron required
  • No Database Required
  • OPML Import/Export
  • SSL certificate verification

moonmoon README

How to install moonmoon

Install moonmoon with Linux

  • Download composer: wget https://getcomposer.org/composer.phar
  • Fetch a copy of the sources:
  • The last version, by downloading a copy of master: wget https://github.com/moonmoon/moonmoon/archive/master.zip (warning, it may be instable!);
  • The last release, by going on https://github.com/moonmoon/moonmoon/releases and downloading the last stable one.
  • Extract the files by running: unzip <thefile.zip>
  • Make the following files / folders writable by the user executing the web server (most of the time, www-data):
  • custom/people.opml
  • custom/config.yml
  • admin/inc/pwd.inc.php
  • cache
  • Install the package php-xml (as root):
  • On Debian and derivatives (Ubuntu): apt-get install php-xml
  • On CentOS / Red Hat : yum install php-xml
  • Inside the extracted repository, run php composer.phar install --no-dev
  • Go to http(s)://yourserver.tld/install.php with your browser
  • Remove the file install.php

Requires PHP 5.6+, php-xml extension, Composer

How to configure moonmoon

  • cache10Front page cache timeout (in seconds)

    Front page cache timeout (in seconds)

  • cachedir./cacheWhere cache is stored

    Where cache is stored

  • categoriesOnly list posts that have one of these (tag or category)

    Only list posts that have one of these (tag or category)

  • checkcertstrueCheck feeds certificates

    Check feeds certificates

  • debugfalseDebug mode (dangerous in production!)

    Debug mode (dangerous in production!)

  • items10How many items to show

    How many items to show

  • localeenFront page locale

    Front page locale

  • nameYour planet front page name

    Your planet front page name

  • nohtml0Deprecated

    Deprecated

  • postmaxlength0Deprecated

    Deprecated

  • refresh240Feeds cache timeout (in seconds)

    Feeds cache timeout (in seconds)

  • shuffle0Deprecated

    Deprecated

  • urlYour planet base URL

    Your planet base URL

FAQ

Can I use cron to update the feeds?

Yes, you can set a cron job to make a GET request (curl/wget/etc) on cron.php to update feeds on a schedule.

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…