Template:Installation/Common: Difference between revisions

From diaspora* project wiki
(Add reverse proxy section to the bottom of the guide)
 
(69 intermediate revisions by 20 users not shown)
Line 1: Line 1:
== Get the source ==
== Get the source ==


It's time to download Diaspora! As your diaspora user run:
It's time to download diaspora*! As your diaspora user run:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
cd ~
cd ~
git clone {{#ifeq: {{#var:mode}}|production|-b master|}} git://github.com/diaspora/diaspora.git
git clone {{#ifeq: {{#var:mode}}|production|-b main|}} https://github.com/diaspora/diaspora.git
cd diaspora
cd diaspora
|lang=bash}}
|lang=bash}}
Line 17: Line 17:
{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
cp config/database.yml.example config/database.yml
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
cp config/diaspora.toml.example config/diaspora.toml
|lang=bash}}
|lang=bash}}


{{#ifeq: {{#var:mode}}|production|{{Installation/Configuration}}|}}
{{#ifeq: {{#var:mode}}|production|{{Template:Installation/Configuration}}|}}
{{#ifeq: {{#var:mode}}|production|{{Installation/Reverse_proxy}}|}}


== Bundle ==
== Bundle ==


It's time to install the Ruby libraries required by Diaspora:
It's time to install the Ruby libraries required by diaspora*:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
{{#var:env_string}} bundle install {{#ifeq: {{#var:mode}}|production|--without test development|}}
script/configure_bundler
bin/bundle install --full-index
|lang=bash}}
|lang=bash}}


This takes quite a while. You should get a green success message when it's finished, if that's not the case you should seek for help on the mailing list or the IRC channel. You can speed it up a bit adding <tt> -jn</tt> to the command, where <tt>n</tt> is the number of CPU cores you have available.
This takes quite a while. When it's finished, you should see a message similar to: <tt>Bundle complete! 137 Gemfile dependencies, 259 gems now installed.</tt> If that's not the case, you should seek for help on the mailing list or the IRC channel.


Running the manual <tt>gem install</tt> command shown in the error message can sometimes show a clearer error message if the <tt>bundle</tt> command fails.
Running the manual <tt>gem install</tt> command shown in the error message can sometimes show a clearer error message if the <tt>bundle</tt> command fails.
Line 40: Line 40:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
{{#var:env_string}} bundle exec rake db:create db:schema:load
{{#var:env_string}}bin/rake db:create db:migrate
|lang=bash}}
|lang=bash}}
{{#ifeq: {{#var:mode}}|production|{{Installation/Assets}}|}}
{{#ifeq: {{#var:mode}}|production|{{Installation/Assets}}|}}


== Start Diaspora ==
== Start diaspora* ==


It's time to start Diaspora:
It's time to start diaspora*:


{{#tag:syntaxhighlight|
{{#tag:syntaxhighlight|
{{#var:db_prefix}}./script/server
./script/server
|lang="bash"}}
|lang="bash"}}


{{#ifeq: {{#var:mode}}|production|In the most simple case you want to do this inside a [http://www.gnu.org/software/screen/ screen] or [http://tmux.sourceforge.net/ tmux] session from which you can safely detach.
Your diaspora server is now running, either on a unix socket (current default) or on http port 3000. The listening method can be configured in diaspora.toml, search for '3000' or 'listen' to find the correct line.  
 
Please be noted that running the server from a [http://www.gnu.org/software/screen/ screen] or [http://tmux.sourceforge.net/ tmux] window should be run '''inside another bash''' with login shell option (-l), to be able to run the Ruby on Rails server. This is due to Ruby Version Manager (RVM), which is installed in the files such as: ~/.bash_profile and ~/.profile.


{{#ifeq: {{#var:mode}}|production|
The server script is good to ensure your server works as expected. You should set up [[Automatic_startup_methods|automatic startup]] for your pod, so that your pod automatically starts on server reboots, and recovers from eventual crashes.
{{Installation/Reverse_proxy}}
|}}


Example for crontab -e:
== Backup ==
 
{{Serious|1=You have to do backups of your pod data. If you lose your data, you won't be able to use the combination of your old username and old domain ever again. Make sure to store the backups on a different server, or at least on a different hard drive.<br />For details on how to do backups, see [[Pod data backup]].}}
<code>@reboot tmux new-session -d -s diaspora.server "/bin/bash -lc 'cd /home/diaspora/diaspora && ./script/server'"</code>
|}}


== Further reading ==
== Further reading ==


* Is there anybody out there? [[FAQ_for_pod_maintainers#Am_I_alone_here.3F_.28Etablish_connections_with_other_pods.29|Etablish connections with other pods]]
* [[Diasporas components explained]]
* [[FAQ_for_pod_maintainers#What_are_roles_and_how_do_I_use_them.3F_.2F_Make_yourself_an_admin|Make yourself an admin]]
* Is there anybody out there? [[FAQ_for_pod_maintainers#Am_I_alone_here.3F_.28Establish_connections_with_other_pods.29|Establish connections with other pods]]
* [[FAQ_for_pod_maintainers#What_are_roles_and_how_do_I_use_them.3F_.2F_Make_yourself_an_admin_or_assign_moderators|Make yourself an admin]]
* [[Updating#{{#switch: {{#var:mode}}|production=Updating_a_production_install|development=Updating_a_development_install}}|Updating Diaspora]]
* [[Updating#{{#switch: {{#var:mode}}|production=Updating_a_production_install|development=Updating_a_development_install}}|Updating Diaspora]]
{{#ifeq: {{#var:mode}}|production|* [[Integrating other social networks]]
{{#ifeq: {{#var:mode}}|production|* [[Integrating other social networks]]
* [[Alternative startup methods]] (Passenger, Init script, Daemontools, ...)
* [[Alternative startup methods]] (Passenger, Init script, Daemontools, ...)
* [[Asset hosting on S3]]|}}
* [[Asset hosting on S3]]|* [[Getting Started With Contributing]]|}}
{{#ifeq: {{#var:mode}}|development|* [[Getting Started With Contributing]]|}}
* [[Diasporas components explained]]


<includeonly>
<includeonly>
Line 78: Line 76:
[[Category:Podmin]]
[[Category:Podmin]]
</includeonly>
</includeonly>
<noinclude>[[Category:Installation-Templates]]</noinclude>

Latest revision as of 23:11, 15 June 2024

Get the source

It's time to download diaspora*! As your diaspora user run:

cd ~
git clone  https://github.com/diaspora/diaspora.git
cd diaspora

Don't miss the cd diaspora, all coming commands expect to be run from that directory!

Configuration

Copy files

cp config/database.yml.example config/database.yml
cp config/diaspora.toml.example config/diaspora.toml


Bundle

It's time to install the Ruby libraries required by diaspora*:

script/configure_bundler
bin/bundle install --full-index

This takes quite a while. When it's finished, you should see a message similar to: Bundle complete! 137 Gemfile dependencies, 259 gems now installed. If that's not the case, you should seek for help on the mailing list or the IRC channel.

Running the manual gem install command shown in the error message can sometimes show a clearer error message if the bundle command fails.

Database setup

Double check your config/database.yml looks right and run:

bin/rake db:create db:migrate


Start diaspora*

It's time to start diaspora*:

./script/server

Your diaspora server is now running, either on a unix socket (current default) or on http port 3000. The listening method can be configured in diaspora.toml, search for '3000' or 'listen' to find the correct line.


Backup

WarningWarning:You have to do backups of your pod data. If you lose your data, you won't be able to use the combination of your old username and old domain ever again. Make sure to store the backups on a different server, or at least on a different hard drive.
For details on how to do backups, see Pod data backup.

Further reading