Fork me on GitHub

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 social applications you host at your home and that connect directly to your contacts.
install newebe 0.5.0 beta
 

Newebe is a distributed social network

Share picture

Share

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

Owns picture

Owns

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.

Screenshots

microblogging

Newebe screenshot - microblogging

pictures

Newebe screenshot - pictures

notes

Newebe screenshot - notes

contacts

Newebe screenshot - contacts

activity stream

Newebe screenshot - activity stream

themes

Newebe screenshot - theme 01 Newebe screenshot - theme 02

Installation

Easy way for Debian or Ubuntu users

To install Newebe just run the following commands in the folder where you want to install Newebe. Answer questions and everything will be cleanly setup. If you want to do a specific setup, refer to the procedure described below.

 wget https://raw.github.com/gelnior/newebe/master/deploy/install_deb.sh --no-check-certificate
 sh install_deb.sh

Dependencies

Procedure (For Debian 6.0)

step 1 Install following packages (Git, Python & tools and CouchDB), prefixed it with sudo if needed :

  apt-get install python python-setuptools python-pip python-pycurl 
  apt-get install python-daemon python-imaging couchdb git openssl 

Via easy_install install couchdbkit, markdown, pytz and tornado :

  pip install couchdbkit tornado markdown pytz

step 2 Get Newebe from Github or unpack the downloaded archive. In both case it will create a new sub-directory called newebe (NB: It's important that you don't change the name of this folder) :

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

Then go inside newebe directory:

  cd newebe 

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 :

 /etc/init.d/couchdb start

Then in Newebe directory execute following command to configure database :

  python syncdb.py

step 4 Edit deployment file (YOUR_NEWEBE_FOLDER/deploy/newebe) by changing NEWEBE_PATH and PIDFILE constants to make it point to your Newebe directory (pid file will be created at first startup).

step 4 bis To change database name or port, you must modify your settings.py file by settings the following constants : TORNADO_PORT and COUCHDB_DB_NAME. Default port is 8000 and default database name is newebe.
Time zone is set in the same manner. So if you want to set it, you must change the TIMEZONE constant value by your timezone. Here is the list of available timezones.

NB: The best way to deal with specific configuration is to set this variable in a file called local_settings.py in the same directory as settings.py.

local_settings.py exemple:

  TORNADO_PORT = 8000
  COUCHDB_DB_NAME = "newebe"
  TIMEZONE = "Europe/Paris"
  DEBUG = False
  COOKIE_KEY = "61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo="

step 5 Copy file deploy/newebe in the folder /etc/init.d/ then give it execution rights.

  cp deploy/newebe /etc/init.d
  chmod +x /etc/init.d/newebe

step 6 Create certificate for HTTPS and protect it. This will ask some questions, answer as you like:

    sudo openssl genrsa -out ./server.key 1024
    sudo openssl req -new -x509 -days 3650 -key ./server.key -out ./server.crt
    sudo chmod 640 server.key
    sudo chown root:ssl-cert server.key

tep 6 bis

Create your own secret cookie key with following command:

  < /dev/urandom tr -dc A-Za-z0-9_ | head -c50

and in local_settings.py put the result as string value of constant COOKIE_KEY

  COOKIE_KEY = "61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo="

step 7 Start Newebe server.

  /etc/init.d/newebe start

step 7 Check that everything is fine via your web browser : go to the URL http://localhost:port/ (remplace port by TORNADO_PORT value, default is 8000).

Warning

Newebe is in its early stage of development. For now, it is only a prototype without security features. Use it just for fun and don't expect reliability from it.

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.

Tutorials

Tutorials are displayed when you first use newebe to help you understand the way it works. You just have to start using it, newebe will tell you what to do.

Themes

Themes can be added by providing a CSS file to Newebe. For that simply put a file named theme.css in the directory static/css/.

You can download blue and green theme here :
blue theme
green theme

More

For more informations about Newebe you can check the wiki.

Contact

Mailing-list

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

Super-users

Thatoo : thatooleprette [ at ] gmail . com

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