Diaspora*

How to Install Diaspora*

Diaspora* is an open-source, user-owned distributed social network. It consists of independent nodes called pods, where each pod runs its own copy of the Diaspora software and acts as a personal web server.

Create the Environment

1

Open the environment wizard

Sign in to the platform dashboard and click Create Environment.

2

Select the required topology

Open the Ruby tab and add the following nodes:

  • Apache application server
  • MySQL database
  • Redis data-structure server

Set the required resource limits, enter an environment name such as diaspora-network, and click Create.

Diaspora environment topology wizard
Create a Ruby environment with Apache, MySQL, and Redis.
3

Wait for provisioning

After provisioning finishes, the Apache, MySQL, and Redis nodes appear in the dashboard.

Diaspora environment created
The Diaspora environment is ready for application deployment.

Deploy Diaspora*

1

Download the application

Open the Diaspora GitHub repository, select the required branch, and download the project as a ZIP archive.

2

Upload the archive

Return to the platform dashboard and upload the ZIP package through Deployment Manager.

3

Deploy to Apache

Click Deploy to beside the uploaded package, select the Diaspora environment, choose the test deployment type, and click Deploy.

!

Production deployment

Running Diaspora* in production mode requires certificate-authority certificates on the server. The source workflow therefore uses the test deployment mode.

Deploy Diaspora application
Deploy the uploaded Diaspora package using the test deployment type.

Configure the Database

1

Open the MySQL administration panel

Click Open in Browser beside the MySQL node and sign in with the credentials supplied by the platform.

2

Create the Diaspora database

Create the database and user required by the application. Keep the host, database name, username, and password for the application configuration.

3

Create database.yml

Open Config for the Apache server, navigate to the project config directory, copy the database example file, and create database.yml.

Enter the MySQL connection information in the test section:

test:
  adapter: mysql2
  host: YOUR_MYSQL_HOST
  database: YOUR_DATABASE_NAME
  username: YOUR_DATABASE_USER
  password: YOUR_DATABASE_PASSWORD
  encoding: utf8

Configure the Application and Redis

1

Create diaspora.yml

In the application config directory, copy the content of diaspora.yml.example into a new file named diaspora.yml.

2

Set the application URL

Replace the example URL with the public URL of the environment. When the test setup does not use SSL, set the SSL requirement to false.

environment:
  url: "http://YOUR-ENVIRONMENT-URL/"
  require_ssl: false
3

Set the default locale

Open application.rb in the same configuration directory, locate the default-locale setting, and set the required language. The source example uses English.

config.i18n.default_locale = :en
4

Update defaults.yml

Open defaults.yml, locate the test environment URL, remove the dummy override when present, and replace the localhost value with the environment URL.

test:
  environment:
    url: "http://YOUR-ENVIRONMENT-URL/"
5

Configure Redis

Use the Redis node’s internal host and port in the Diaspora configuration so background jobs and application data structures can connect to the managed Redis service.

6

Create rake_deploy

In the application webroot directory, create a file named rake_deploy and add the following tasks:

db:create
db:schema:load
assets:precompile

One task per line

Do not add the rake prefix. The platform executes each line through Rake after the Apache service restarts.

Restart and Open Diaspora*

1

Save the configuration

Save all modified files in the configuration manager.

2

Restart Apache

Restart the Apache node to apply the configuration and run the rake_deploy tasks.

i

First restart

The first restart can take longer because the database schema is created and application assets are compiled.

3

Open the application

Click Open in Browser for the environment. The Diaspora* start page should open after initialization completes.

Expected Result

A Diaspora* pod is deployed on an Apache Ruby server, connected to MySQL and Redis, configured with the environment URL, initialized through the required Rake tasks, and accessible from the platform environment address.

Important Notes

  • The source workflow uses Apache Ruby, MySQL, and Redis.
  • Use test mode unless the required production certificates and SSL configuration are available.
  • Store database and Redis credentials securely.
  • Ensure the environment URL is updated in all relevant configuration files.
  • Place rake_deploy in the application webroot and add one task per line.
  • Review application, Apache, database, and Rake logs when initialization fails.

Common Issues and Solutions

Database connection failsVerify the MySQL host, database name, username, password, and the active deployment section in database.yml.
Application redirects to localhostReplace the localhost or dummy URL in diaspora.yml and defaults.yml with the environment URL.
Redis connection failsCheck the Redis internal host, port, node status, and application configuration.
Assets are missingConfirm that assets:precompile completed successfully during the Apache restart.
Application does not open after restartReview the Rake output, Apache logs, dependency installation, database schema creation, and Ruby-version compatibility.