Fork me on GitHub

Freedom To Share

Newebe is a Distributed Social Network

version 0.7.1



Share picture

Share

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

Own picture

Own

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

Fast picture

Fast

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

Free picture

Free

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


or

Install

Installation on a debian (testing) server:

 
sudo apt-get update
sudo apt-get upgrade
wget https://newebe.org/newebe-0.7.1.deb -
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:

 
    wget https://launchpad.net/ubuntu/+archive/primary/+files/python-cssselect_0.6.1-1_all.deb
    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
wget https://raw.github.com/gelnior/newebe/master/deploy/fabfile.py
fab setup -H myrootuser@myhosturlorip
    

Then your newebe will run on port 8000.

Update

On your remote server, simply type this lines:

sudo pip install git+git://github.com/gelnior/newebe.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://github.com/gelnior/newebe.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
cd
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 :

[program:newebe]
autorestart=false
command=newebe_server.py
redirect_stderr=true
user=newebe
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
    

FAQ

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

Documentation

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:
http://www.myurl.com:8000/ or http://80.23.143.123:7500/ 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

More

For more informations about Newebe you can check the wiki.

Contact

Mailing-list

http://groups.google.com/group/newebe

Super-users

Piour : piour [ at ] free . fr

Author

Gelnior : gelnior [ at ] free . fr

Drawings

Stella : salumaastella [ at ] gmail . com

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

Developers

Get the code

You can clone the project with Git by running:

$ git clone git://github.com/gelnior/newebe
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.

Issues

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

Demo

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

Use the Dan Frazer's Newebe: demo-dan.newebe.org

Use the John Doe's Newebe (Dan's colleague): demo-john.newebe.org

Use the Maria's Newebe (John's sister): demo-maria.newebe.org

Sesame for each instance: newebe