{"id":13552292,"url":"https://github.com/ncarlier/nunux-reader","last_synced_at":"2025-04-03T03:31:16.777Z","repository":{"id":145991556,"uuid":"12212275","full_name":"ncarlier/nunux-reader","owner":"ncarlier","description":"The super-fast-minimalist-nosql-opensource Google Reader revival.","archived":true,"fork":false,"pushed_at":"2019-04-27T10:24:27.000Z","size":9117,"stargazers_count":65,"open_issues_count":0,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-03T23:34:38.698Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://reader.nunux.org/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ncarlier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-08-19T09:18:12.000Z","updated_at":"2024-09-30T22:42:40.000Z","dependencies_parsed_at":"2024-01-14T05:08:44.891Z","dependency_job_id":"110018ec-f5b7-4b78-899f-2c15e280a2e0","html_url":"https://github.com/ncarlier/nunux-reader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Fnunux-reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Fnunux-reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Fnunux-reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncarlier%2Fnunux-reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ncarlier","download_url":"https://codeload.github.com/ncarlier/nunux-reader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246933392,"owners_count":20857047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:02:01.837Z","updated_at":"2025-04-03T03:31:11.732Z","avatar_url":"https://github.com/ncarlier.png","language":"HTML","funding_links":[],"categories":["HTML","others"],"sub_categories":[],"readme":"# NUNUX Reader\n\nThe super-fast-minimalist-nosql-opensource Google Reader revival.\n\n---\n\n### :warning::warning::warning:This project is no longer maintained:warning::warning::warning:\n\n**Please consider to use another news reader such as [readflow](https://readflow.app)!**\n\n---\n\n![Screenshot](screenshot.png)\n\nFeatures:\n\n * Faster than light thanks to Redis and Node.js\n * Dynamic GUI thanks to AngularJS\n * Responsive Web Design\n * Login with Google OAuth2 or Mozilla Persona\n * OPML import/export\n * Manage subscriptions\n * Save articles in [Nunux Keeper](http://keeper.nunux.org), Pocket or Dropbox\n * Keep article as not read\n * Powerfull reactive aggregator daemon\n * Support of PubSubHubbud\n * RESTFul JSON [API](http://reader.nunux.org/doc/)\n * 100% Javascript!\n\n## Installation guide with Docker (the recommended way)\n\n### Prerequisites\n\n* [docker](http://www.docker.com/)\n\n### Start the Redis server\n\n    docker run --name redis -d redis\n\n### Configuration\n\nYou can configure the server by setting environment variables:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_PORT` | `3000` | Server port |\n| `APP_REALM` | `http://localhost` | Public URL used for callbacks (AuthN and PSHB) |\n| `APP_REDIS_URL` | `redis://localhost:6379` | Database URI |\n| `APP_DAYS_TO_KEEP` | `30` | Number of days to keep an article in the database |\n| `APP_PSHB_ENABLED` | `false` | Feature flag to activate PubSubHubBud support |\n| `APP_AUTO_GRANT_ACCESS` | `true` | Feature flag to activate automatic user registration |\n| `APP_SESSION_SECRET` | `NuNUXReAdR_` | Secret key to encode the session cookie |\n| `APP_ADMIN` | empty | Comma-separated list of user id that have the admin role |\n| `APP_EMBEDDED_DAEMONS` | empty | List of daemon embedded with the server (not recommended for production) |\n\n#### Authentication configuration\n\nConfiguration needed to login with Google:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_GOOGLE_KEY` | empty | Google OAuth key |\n| `APP_GOOGLE_SECRET` | empty | Google OAuth secret key |\n\nConfiguration needed to delegate authentication to an upstream proxy (NGINX,\nApache, Traefik, ...):\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_AUTH_PROXY_HEADER` | empty | Header's name used to extract username (ex: `x-webauth-user`)|\n\n**Example of configuration with NGINX:**\n\n```\nserver {\n  listen      80;\n  server_name nunux-reader;\n  access_log  /var/log/nginx/nunux-reader.access.log;\n\n  auth_basic_user_file  /etc/nginx/passwd;\n  auth_basic            \"Restricted\";\n\n  location / {\n    proxy_set_header X-WEBAUTH-USER $remote_user;\n    proxy_pass http://127.0.0.1:3000;\n    allow 127.0.0.1;\n    deny all;\n    satisfy any;\n  }\n}\n```\n\n#### Archiver configuration\n\nConfiguration needed to save articles into Pocket:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_POCKET_KEY` | empty | Pocket key |\n\nConfiguration needed to save articles into Dropbox:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_DROPBOX_KEY` | empty | Dropbox key |\n| `APP_DROPBOX_SECRET` | empty | Dropbox secret |\n\nConfiguration needed to save articles into\n[Nunux Keeper](http://keeper.nunux.org):\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `APP_KEEPER_V2_URL` | empty | Nunux Keeper API URL |\n| `APP_KEEPER_V2_KEY` | empty | Nunux Keeper key |\n| `APP_KEEPER_V2_SECRET` | empty | Nunux Keeper secret |\n\n### Start the Web Site\n\nConfigure the application according your needs by editing \"./etc/default/dev.ev\" file.\n(see ./etc/default/dev.env in this repository for more details)\n\nThen start the Web Server:\n\n```\nmake start\n```\n\nOR\n\n```\ndocker run \\\n    --rm \\\n    --name reader-server \\\n    --link redis:db \\\n    --env-file ./etc/default/dev.env \\\n    -p 3000:3000\n    -i -t \\\n    ncarlier/reader\n```\n\nGo to http://localhost:3000 and the magic happens.\n\n### Start the feed updater daemon\n\nThis daemon is responsible to fetch articles of  the registered subscriptions.\n\n```\ndocker run \\\n    --rm \\\n    --name reader-feed-updater \\\n    --link redis:db \\\n    --env-file ./etc/default/dev.env \\\n    -i -t \\\n    ncarlier/reader run feed-updater\n```\n\n### Start the timeline updater daemon\n\nThis daemon is responsible to update user's timelines.\n\n```\ndocker run \\\n    --rm \\\n    --name reader-timeline-updater \\\n    --link redis:db \\\n    --env-file ./etc/default/dev.env \\\n    -i -t \\\n    ncarlier/reader run timeline-updater\n```\n\n## Installation guide from scratch (the -not so- hard way)\n\n### Prerequisites\n\n* [git](http://git-scm.com/)\n* [nodejs](http://nodejs.org/) v0.10.x\n* [redis](http://redis.io/) v2.2\n\n#### Install Git, Node.JS and Redis (on Debian)\n\n```\nsudo aptitude install git nodejs redis-server\n```\n\n#### Install Grunt\n\n```\nsudo npm install -g grunt-cli\n```\n\n### Install Web Site\n\n```\ncd /opt_\ngit clone git@github.com:ncarlier/nunux-reader.git\ncd nunux-reader\nnpm install\n```\n\n### Run Web Site\n\n```\n#!/bin/sh\n# See etc/default/dev.env for environment configuration.\nsource ./etc/default/dev.env\nnpm start 2\u003e\u00261 \u003e\u003e app.log\n```\n\n### Jobs\n\n* **clean-db.js**: Clean database (aka remove old articles). Usage:\n\n```\n./server/daemon/db-cleaner.js -v --days 30\n```\n\n* **feed-updater.js**: Update feeds content. It's a daemon. Use CTRL+C to stop. Usage:\n\n```\n./server/daemon/feed-updater.js -v\n```\n\n* **timeline-updater.js**: Update users timelines. It's a daemon. Use CTRL+C to stop. Usage:\n\n```\n./server/daemon/timeline-updater.js -v\n```\n\n\n------------------------------------------------------------------------------\n\nNUNUX Reader\n\nCopyright (c) 2013 Nicolas CARLIER (https://github.com/ncarlier)\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n------------------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncarlier%2Fnunux-reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncarlier%2Fnunux-reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncarlier%2Fnunux-reader/lists"}