Distributed Social Network made with Python
JavaScript Python CSS CoffeeScript HTML Gherkin
Failed to load latest commit information.
deploy Add Dockerfile for clean Docker hosting Sep 23, 2016
docs add docs sphinx configuration to newebe Oct 11, 2011
newebe Do not handle timezone on the server side. Aug 18, 2016
.gitignore add realtime contact update Feb 11, 2014
LICENSE add license file Aug 19, 2012
MANIFEST.in add client folder to manifest Dec 7, 2013
README.rst update README Jul 29, 2014
setup.cfg wrong package added for client Dec 7, 2013
setup.py Including data files in the Python packaging configuration. Sep 19, 2012


Newebe, Feel Free to Share

Growth of web applications has been a huge improvement for social sharing and collaborative work. Unfortunately, to enjoy these new tools, we have traded our privacy. Newebe aims to solve this problem by providing a social tool you host at your home and that connects directly with your contacts.

Before you ask, Newebe is not like Diaspora, it is thinked distributed in a peer-2-peer manner : it is designed to be self-hosted and does not require 3rd party server.

Installation Instructions

Check the website install section : http://newebe.org/#install

Set up a development environment (Ubuntu and Debian)


Install following packages:

python python-setuptools python-pip python-pycurl python-imaging couchdb
git libxml2-dev libxslt-dev

For ubuntu:

sudo apt-get build-dep python-imaging

Add link required by PIL:

ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib

Install virtualenv:

sudo pip install virtualenv

Retrieve Newebe project:

git clone http://github.com/gelnior/newebe.git
cd newebe

Create and activate virtualenv:

virtualenv --no-site-packages virtualenv
. virtualenv/bin/activate

Then via easy_install:

pip install -r deploy/requirements.txt
pip install -r deploy/requirements-dev.txt

In Newebe settings file (settings.py), set DEBUG variable to True.

Go inside newebe folder:

cd newebe

Then, still in Newebe directory set DB by running:

python tools/syncdb.py

Change parameters such as port, debug mode and timezone inside a config file called config.yaml. Here is an exemple of config file (see wiki for a complete descritpion):

    port: 8000
    timezone: "Europe/Paris"
    debug: True
    name: "newebe"
    cookie_key: "61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo="

Run server:

python newebe_server.py --debug=True

In your browser, connect to http://localhost:8000/ and check that everything is fine.


To work on client you will need node.js. So first install it:

git clone https://github.com/ry/node.git

cd node
make install

Now install Brunch the front-end assembler:

npm install brunch -g

Install build dependencies

cd client npm install

Then watch for file modifications to build the client on change:

cd client brunch w

Run tests (backend)

Activate your virtual env, then install test dependencies:

virtualenv --distribute --no-site-packages virtualenv
. virtualenv/bin/activate
pip install -r deploy/requirements-dev.txt

Then run tests for each module. Tests require that a second newebe runs on port 8889:

sh launch_tests.sh


Description:Newebe is a distributed social network
Author:Gelnior (http://gelnior.wordpress.com)
License:AGPL v3.0