Fork me on GitHub

Freedom To Share

Newebe is a Distributed Social Network

version 0.7.1

Share picture


Share your thoughts, your feelings, your links and your pictures with your contacts.

Own picture


Each user hosts his Newebe instance, you keep your data safely in an enviromnent you own.

Fast picture


Newebe does not need to handle millions of connections, he just serves you and your contacts.

Free picture


Newebe is a free software, you control the code and its behavior.



Installation on a debian (testing) server:

sudo apt-get update
sudo apt-get upgrade
wget -
sudo dpkg -i newebe-0.7.1.deb
sudo apt-get install -f

Then your newebe will run on port 8282.

On Ubuntu 12.04 you will have to install this package manually:

    sudo dpkg -i python-cssselect_0.6.1-1_all.deb

Installation on a remote server for Debian or Ubuntu users from your local computer:

This one will setup newebe on your remote server directly from your desktop computer. It requires root ssh access to your server.

apt-get install python python-setuptools python-pip
pip install fabric fabtools
fab setup -H myrootuser@myhosturlorip

Then your newebe will run on port 8000.


On your remote server, simply type this lines:

sudo pip install git+git://
sudo supervisorctl restart newebe

Manual way for Debian or Ubuntu user

step 1 Install following packages

sudo apt-get install python python-setuptools python-pip python-pycurl 
                     python-dev python-imaging build-essential couchdb git
                     libxml2-dev libxslt-dev openssl supervisor

step 2 Get and install Newebe

sudo pip install git+git://

step 3 Ensure database is started by running this command, if there is more than one line, it's ok :

ps -ef | grep couchdb

If it's not ok, start the database manually :

sudo /etc/init.d/couchdb start

step 4 Create a newebe user and prepare newebe folders.

sudo adduser --disabled-password --shell=/bin/bash newebe
sudo su newebe
mkdir newebe
mkdir newebe/certs

step 5 Create certificate for HTTPS. This will ask some questions, answer as you like:

sudo su newebe
cd ~/newebe/certs
openssl genrsa -out ./server.key 1024
openssl req -new -x509 -days 3650 -key ./server.key -out ./server.crt

step 6 As root user, set supervisor configuration for Newebe server. Create a file /etc/supervisor/conf.d/newebe.conf. Fill it with following content :

step 7 Start newebe
sudo supervisorctl update

step 8 Check that everything is fine via your web browser : go to the URL https://ip:port/

In case of your newebe is not started, try the following:

sudo pip install importlib
sudo supervisorctl start newebe


Why Newebe is different from Diaspora, Friendica, Movim, SàT... ?

Newebe differs from the federated approach because it is designed to be only self-hosted. You can't suscribe to any server, you have to setup your own.
It brings several benefits:

Does it work or is it another Vaporware ?

It works pretty well, Newebe is built in an agile way, short iterations and working software. I use it every day since almost three years.

Do I need a server to host Newebe ?

Yes you need a Linux based server. Don't be afraid, nowadays owning a web server is a common practice! You can either


Main concepts

Actually the usage of Newebe is quite simple. Once you understand the notions of URL and contacts, everything is easy.

URL is the URL which you used to connect to your Newebe. Your contacts need it to know where they have to send their data when they want to reach you. When you add contacts you give them your URL. That's why you have to register it the first time you connect to your Newebe.
Newebe URL looks like this: or depending if you have a subdomain linked to your Newebe and the port on which Newebe is set up.

Contact A contact is described by its URL. At this URL lives its Newebe. So to add a friend in your contact list, you need to add the URL of its Newebe to your contact list.

Contact list All contacts can be annotated with tags. Once a contact is tagged, it is part of the list corresponding to this tags. When you share you must select a tag to tell which list of contacts will receive your post or your picture.

Command Line Client

A CLI is available. You can post and read messages from the command line. More details here: Newebe-CLI


For more informations about Newebe you can check the wiki.




Piour : piour [ at ] free . fr


Gelnior : gelnior [ at ] free . fr


Stella : salumaastella [ at ] gmail . com

All artworks are set under Creative Commons License nc-by-sa 3.0


Get the code

You can clone the project with Git by running:

$ git clone git://
Then follow the README instructions to set up your development environment.

Commit policy

Before starting any development, please inform me via the mailing list. It could save you time and will make integration easier. Then fork the code from github, code and make a pull request with comments about what you did.

Please document every code you push or it will be rejected.

What to do

Newebe must stay simple and easy to use. Moreover, there is a lot to do to make it reach its goal. So, if you don't know where to start, focus on big issues that are listed below. They are mandatory to make newebe production ready. Short specifications about what you do are welcome too.


Here are the main issues to solve :

For more details about a subject, send an email to the mailing list and I will answer as soon as I can.

Under the hood

Server is powered by...

Tornado Couchdb

Client is powered by...

Coffee Script Backbone JS


You can have a look at Newebe by using one of these three instances:

Use the Dan Frazer's Newebe:

Use the John Doe's Newebe (Dan's colleague):

Use the Maria's Newebe (John's sister):

Sesame for each instance: newebe