Home

Awesome

rsstodolist-node-server

rsstodolist is an URL oriented to-read-list based on an RSS XML feed. Typical use case is to save web pages to read later on a RSS reader, or to send links to friends.

That application is hosted on fly.io at https://rsstodolist.eu/. For more reliability and privacy, I strongly suggest you to self-host that application.

Thanks to Loïc Fürhoff, it can be hosted in a convenient way via docker.

Requirements

or

Pre-requisites

Copy .env.sample into .env (or .env.docker_compose if you are using docker-compose setup) and set the variables according your need.

The app will try to determine it’s root url. If it isn’t correct, you can specify it via ROOT_URL env variable.

The PUBLIC env variable should only be used for public instance (it disable /list and add some messages about self-hosting).

1. Setup with docker-compose

docker-compose -f ./docker/docker-compose.yml build
docker-compose -f ./docker/docker-compose.yml up

Development

To allow fast code update, you can simply start database using docker-compose like docker-compose -f ./docker/docker-compose.yml up db and run npm run dev with nodemon in another shell.

2. Setup with the DockerFile

Run the migration file

You need to apply sql/rsstodolist.mysql or sql/rsstodolist.postgres manually on your database server.

Build the image

As there is no currently public image, build the image for example like this:

npm run docker-build
# or
docker build -t rsstodolist -f ./Dockerfile .

Run the container

Run the container for example by linking a file containing environment variables.

docker run --env-file ./.env rsstodolist

or define needed environment variables within the command:

docker run -p 8080:6070 \
-e DATABASE_HOST=127.0.0.1 \
-e DATABASE_PORT=3306 \
rsstodolist

3. Setup via node & MariaDB

Run the migration file

Run the migration file to create the rsstodolist database.

Install packages and start the application

npm install
npm start

Commands

You can use npm run dump to extract all databases rows into a CSV file format.