Tutorial: How to Install Socialhome on Debian

In this tutorial, we will cover the steps to install Socialhome on Debian latest. Socialhome is a federated social network platform that runs on top of Django, Angular, and PostgreSQL.

Prerequisites

Before we begin, make sure you have the following:

Step 1: Installing Required Packages and Dependencies

Firstly, before we install Socialhome, it is necessary to install some packages and dependencies that will be needed.

Run the following command to update your server's package list and install required packages:

sudo apt update
sudo apt install python3-dev python3-pip postgresql
sudo apt install libpq-dev libffi-dev libssl-dev

Step 2: Installing Virtual Environment

Now, we will create a new virtual environment to manage the Python dependencies for Socialhome.

Run the following command to install virtual environment:

sudo apt install python3-virtualenv

Next, create a new directory for your project and navigate into it:

mkdir socialhome
cd socialhome

Now create a new virtual environment:

python3 -m venv socialhome-env

Activate the virtual environment:

source socialhome-env/bin/activate

Step 3: Installing and Configuring PostgreSQL

Socialhome requires a PostgreSQL database. To install PostgreSQL, run the following commands:

sudo apt install postgresql postgresql-contrib

Once PostgreSQL is installed, we need to create a new database user for Socialhome:

sudo -u postgres createuser -P socialuser

Type the password for the new user when prompted. Next, we need to create a new database for Socialhome:

sudo -u postgres createdb -O socialuser socialdb

Finally, update the database configuration to allow the socialuser to connect:

sudo nano /etc/postgresql/VERSION/main/pg_hba.conf

Change the following line:

local   all             postgres        peer

To:

local   all             postgres        md5

Add the following line at the bottom of the file:

local   all             socialuser      md5

Restart PostgreSQL:

sudo systemctl restart postgresql

Step 4: Installing Socialhome

We will now download Socialhome from Github and install it.

Clone the Socialhome Git repository by running the following command:

git clone https://git.feneas.org/socialhome/socialhome.git

Next, navigate to the new Socialhome directory:

cd socialhome

Install the Socialhome dependencies by running the following command:

pip install -r requirements/base.txt

The above command will install all the Python dependencies required to run Socialhome.

Now, create a .env file for Socialhome configuration:

cp .env.sample .env

Edit the .env file and set the following configuration:

DATABASE_URL=postgres://socialuser:your_password@localhost/socialdb
SECRET_KEY=your_secret_key

Note: Replace your_password and your_secret_key with your own values.

Run the following command to perform database migrations:

python manage.py migrate

Finally, run the Socialhome development server:

python manage.py runserver

You should now be able to access Socialhome by visiting http://your_server_ip:8000 in your web browser.

Conclusion

By following the steps in this tutorial, you have installed Socialhome on Debian. You now have a federated social network platform that you can customize and use to create your own social network.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!