Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ncarlier/nunux-keeper
A open source content curation system.
https://github.com/ncarlier/nunux-keeper
Last synced: about 1 month ago
JSON representation
A open source content curation system.
- Host: GitHub
- URL: https://github.com/ncarlier/nunux-keeper
- Owner: ncarlier
- License: gpl-3.0
- Archived: true
- Created: 2015-09-06T12:56:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-01T19:42:47.000Z (about 6 years ago)
- Last Synced: 2024-08-01T12:33:11.003Z (4 months ago)
- Language: JavaScript
- Homepage: http://keeper.nunux.org
- Size: 6.34 MB
- Stars: 72
- Watchers: 9
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - ncarlier/nunux-keeper - A open source content curation system. (others)
README
# NUNUX Keeper
[![Build Status](https://travis-ci.org/ncarlier/nunux-keeper.svg)](https://travis-ci.org/ncarlier/nunux-keeper)
> Your personal content curation service.
Nunux Keeper allow you to collect, organize, and display articles or medias you
found on the Internet.---
### :warning::warning::warning:This project has moved:warning::warning::warning:
**Please refer to the [new version](https://github.com/nunux-keeper) of this project**
---
![Screenshot](screenshot.png)
## Features
* Connect with your Google account (OAuth2) or with Mozilla Persona
* Save, classify and index documents.
* A document can be an html page, notes, images and more!
* Documents attached medias are also saved.
* Search a document with powerful full text queries.
* Access from your mobile or your computer. It's fully responsive.
* Easily save web content while surfing thanks to the awesome bookmarklet.
* Share a document on a public page.
* Build your own client application thanks to the [RESTFul JSON API](http://keeper.nunux.org/doc).
* Link your account with Twitter and keep your tweets.
* Import your bookmarks from Pocket
* Store medias on the local disk or on S3## Under the hood
The backend is using Node.js. All documents are stored in a MongoDB and are indexed with ElasticSearch using the MongoDB river. Redis is optional, but can be used to provide a message queuing system to download medias in background.
The frontend is using AngularJS and for the visual is using LESS with Twitter Bootstrap 3.
## Installation (the -not so- hard way)
This installation procedure is from scratch. You can find below an easiest installation procedure thanks to Docker!
### Prerequisites
* [Git](http://git-scm.com/)
* [Node.js](http://nodejs.org/) ~v0.10.0
* [MongoDB](http://www.mongodb.org/) ~v2.4
* [Elasticsearch](http://www.elasticsearch.org/) v0.90.10
* [Redis](http://redis.io/) ~v2.8.0 (optional)
* [Imagemagick](http://www.imagemagick.org/)#### Install Git, Node.JS, MongoDB and Redis (on Debian)
```
sudo aptitude install git nodejs mongodb-server redis-server imagemagick
```#### Install Elasticsearch (and MongoDB river)
```
sudo aptitude install openjdk-7-jre wget
ES_HOME /opt/Elasticsearcharch
(cd /tmp && wget https://download.elasticsearch.org/elasticsearch/elasticsearchsticsearch/elasticsearch-0.90.10.tar.gz -O pkg.tar.gz && tar zxf pkg.tar.gz && mv elasticsearch-* $ES_HOME)
$ES_HOME/bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/1.9.0
$ES_HOME/bin/plugin -install com.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/1.7.3
```Connect to mongodb and enabled replicaset:
```
$ mongo
> cfg = { "_id" : "rs0", "version" : 1, "members" : [ { "_id" : 0, "host" : "localhost:27017" } ] }
> rs.initiate(cfg)
```#### Install Grunt
```
sudo npm install -g grunt-cli
```### Install the Keeper
```
mkdir -p /opt/node/keeper && cd $_
git clone [email protected]:ncarlier/nunux-keeper.git
cd keeper
npm install
```### Run the Keeper
See [etc/default/dev.env](etc/default/dev.env) for configuration details.
```
npm start
```Open your browser, go to http://localhost:3000 and enjoy!
## Installation (the cool way)
### Prerequisites
* [Docker](http://www.docker.io/)
Or a cool docker hosting service.
### Start the Keeper
```
# Start Redis
docker run --name redis -d ncarlier/redis
# MongoDB and ElasticSearch
docker run --name mongodb -d ncarlier/mongodb
# Don't forget to initiate the new replica set: rs.initiate()
# And ElasticSearch (linked with MongoDb replica)
docker run --name elasticsearch --link mongodb:mongodb -d ncarlier/elasticsearch# Get and run Keeper
docker run \
--name="keeper-server" \
--link mongodb:db \
--link elasticsearch:elasticsearch \
--link redis:redis \
--env-file="./etc/env.conf" \
-d \
ncarlier/keeper# (Optional) Run Keeper downloader deamon
# Only if you set APP_DOWNLOADER="async-redis"
docker run \
--name="keeper-resource-downloader" \
--link mongodb:db \
--link elasticsearch:elasticsearch \
--link redis:redis \
--env-file="./etc/env.conf" \
-d \
ncarlier/keeper resource-downloader# Enjoy!
```## Configuration
See [etc/default/dev.env](etc/default/dev.env) for configuration details.
----------------------------------------------------------------------
NUNUX Keeper
Copyright (c) 2014 Nicolas CARLIER (https://github.com/ncarlier)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program. If not, see .----------------------------------------------------------------------