Copyright (c) 2024 Piethein Strengholt, [email protected]
RSSMonster is a user-friendly, web-based RSS aggregator developed as an alternative to one of my favorite tools, Google Reader. Motivated by the need to replace Google Reader for tracking RSS feeds, RSSMonster aims to replicate its functionality while offering modern enhancements.
git clone https://github.com/pietheinstrengholt/rssmonster.git .
npm install
in both the client
and server
folder.env.example
file in the root of both the client
and server
folder. Copy and rename the files to .env
.env
inside the server
folder and enter your Mysql or Database server login data (at least fill DB_DATABASE, DB_USERNAME and DB_PASSWORD)..env
inside the client
folder. Change the VITE_APP_HOSTNAME, so it points to the back-end../node_modules/.bin/sequelize db:migrate && ./node_modules/.bin/sequelize db:seed:all
in side the server
folder. this will add all needed database tables and content to your mysql database. Alternatively you can also uncomment the //force:
true in the app.js inside the server folder to create the schema structure.If you would like to run RSSMonster in development mode I recommend to run:
npm run dev
.npm run debug
.If you would like to run RSSMonster in production mode I recommend to run:
VITE_APP_HOSTNAME
and VITE_NODE_ENV
inside the file client/.env
. Most likely you want to remove port 3000 and point to the url where the backend will be running. For production, make sure you set the VITE_NODE_ENV
to production
.NODE_ENV
inside the file server/.env
. For production, make sure you set the NODE_ENV
to production
.npm run build
.dist
output folder created inside the client
folder to the server
folder. The NodeJS server is also capable of serving out static content.npm run start
.docker-compose build
docker-compose up
The production version has the server and client combined into a single container. The VueJS is also compiled into an optimized version. To build this single image, run the following command: docker build -t rssmonster .
Lastly you need to run the docker container. You need to provide the correct environment variables for the database server to connect to. Here's is an example: docker run -d -t -i -e NODE_ENV=production -e DB_HOSTNAME=localhost -e DB_DATABASE=rssmonster -e DB_USERNAME=rssmonser -e DB_PASSWORD=password -p 3000:3000 rssmonster
eb init
eb create rssmonster-app --envvars "NODE_ENV=production" --database --database.engine mysql --database.username rssmonster --database.password "fvX2Ht8jXxXEYlZ6"
eb ssh rssmonster-app
/app/server/node_modules/.bin/sequelize db:migrate && /app/server/node_modules/.bin/sequelize db:seed:all
RSSMonster is compatible with the Fever API. Apps like Reeder (iOS) will support this. To use the Reeder API (http://feedafever.com/api), point to the following url:
http://yourRSSMonsterurl/api/fever
Any username and password will work.
I welcome contributions and new features from the community. Feel free to fork the repository and submit pull requests.
The following scripts and plug-ins are used within RSSMonster