mirror of
https://github.com/YGGverse/Pulsar.git
synced 2026-03-31 09:45:32 +00:00
2.4 KiB
2.4 KiB
Pulsar
RSS aggregator for different protocols
See also alternative branch to generate static gemtext
Features
src/crawler.php- scan configured RSS feeds and dump results to SQLitesrc/cleaner.php- auto clean deprecated recordssrc/server.php- server launcher for different protocols:
Example
nex://[301:23b4:991a:634d::feed]- Yggdrasil instance by YGGverse
Install
apt install git composer php-fpm php-sqlite3 php-pdo php-mbstring- install system dependenciesgit clone https://github.com/YGGverse/Pulsar.git- get latest Pulsar versioncd Pulsar- navigate project foldercomposer update- install application dependenciescp config/example.json config/name.json- setup your feed
Crawler
php src/crawler.php config=name.json- crawl feeds configured byname.json- manually or using crontabconfig- relative (toconfigfolder) or absolute path to configuration file
Server
Launch as many servers as wanted, for different protocols and configurations (provided as the arguments)
php src/server.php protocol=nex config=name.json- launchnexprotocol server withname.jsonconfigconfig- relative (configfolder) or absolute path to configuration fileprotocol- server protocol, supported options:nex- NEX Protocol
Autostart
systemd
Launch server as the systemd service
Following example mean application installed into the home directory of pulsar user (useradd -m pulsar)
# /etc/systemd/system/pulsar.service
[Unit]
After=network.target
[Service]
Type=simple
User=pulsar
Group=pulsar
ExecStart=/usr/bin/php /home/pulsar/Pulsar/src/server.php protocol=nex config=name.json
StandardOutput=file:/home/pulsar/debug.log
StandardError=file:/home/pulsar/error.log
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload- reload systemd configurationsudo systemctl enable pulsar- enable service on system startupsudo systemctl start pulsar- start server