1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/diaspora_ynh.git synced 2024-09-03 18:26:13 +02:00

upgrade package app for Yunohost 2.4, also update homepage andd readme

This commit is contained in:
aymhce 2016-06-11 12:43:17 +00:00
parent e006c0370f
commit 600ffc7529
7 changed files with 73 additions and 41 deletions

View file

@ -8,8 +8,10 @@ Notes
Before installing, you have to: Before installing, you have to:
- get a valid SSL certificate (can use [startssl.com](https://www.startssl.com/))
- get a dedicated domain (must install under web root like **https://diaspora.example.com/** not **https://example.com/diaspora/**) - get a dedicated domain (must install under web root like **https://diaspora.example.com/** not **https://example.com/diaspora/**)
- get a valid SSL certificate
- can use [letsencrypt](https://letsencrypt.org/) with this fun [app](https://github.com/alexAubin/letsencrypt_ynh) of alexAubin :)
- or more hard, can use [startssl.com](https://www.startssl.com/)
Installation effects: Installation effects:
@ -17,8 +19,8 @@ Installation effects:
- The installation directory can take up to 700MB and app start time can be take 5 minutes. - The installation directory can take up to 700MB and app start time can be take 5 minutes.
Make yourself (your account) an admin: Make yourself (your account) an admin:
- https://wiki.diasporafoundation.org/FAQ_for_pod_maintainers#What_are_roles_and_how_do_I_use_them.3F_.2F_Make_yourself_an_admin - https://wiki.diasporafoundation.org/FAQ_for_pod_maintainers#What_are_roles_and_how_do_I_use_them.3F_.2F_Make_yourself_an_admin_or_assign_moderators
Not implement yet: Not implement yet:
- There are not yet active SSO/LDAP integration. - backup and restart scripts.

View file

@ -1,11 +1,11 @@
.container{style: "padding-top: 5%;"} .container{style: "padding-top: 5%;"}
.hero-unit .hero-unit
= image_tag "branding/logo.png" %h2 diaspora*
%hr/ %hr/
%p %p
%b Vous êtes sur le point de changer Internet en utilisant un réseau social anonyme et distribué. %b Vous êtes sur le point de changer Internet en utilisant un réseau social anonyme et distribué.
%br %br
%b Rejoignez-nous et récupérez votre liberté, votre vie privée et vos données YunoHost et diaspora* ! %b Rejoignez-nous et récupérez votre liberté, votre vie privée et vos données avec YunoHost et diaspora* !
%p %p
= link_to "Créer un compte ! »", new_user_registration_path, class: "btn btn-primary btn-large" = link_to "Créer un compte ! »", new_user_registration_path, class: "btn btn-primary btn-large"
.row .row
@ -16,7 +16,7 @@
%a.btn{:href => "https://diasporafoundation.org/"} Fondation Diaspora » %a.btn{:href => "https://diasporafoundation.org/"} Fondation Diaspora »
.span4 .span4
%h2 Auto-hébergez-vous %h2 Auto-hébergez-vous
%p Le site (pod) sur lequel vous êtes est propulsé par YunoHost. Une distribution simple d'outils libres pour créer votre propre "cloud" ! %p Le site (pod) sur lequel vous êtes est propulsé par YunoHost. Une distribution simple basée sur des outils libres pour créer votre propre "cloud" !
%p %p
%a.btn{:href => "https://yunohost.org/"} YunoHost » %a.btn{:href => "https://yunohost.org/"} YunoHost »
.span4 .span4

8
conf/diaspora.target Normal file
View file

@ -0,0 +1,8 @@
[Unit]
Description=Diaspora social network
Wants=redis.service mysqld.service
After=redis.service mysqld.service
StopWhenUnneeded=true
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,17 @@
[Unit]
Description=Diaspora social network (application server)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
WorkingDirectory=/var/www/diaspora
Environment=RAILS_ENV=production
ExecStart=/var/www/diaspora/.rvm/scripts/extras/chruby.sh 2.2 -- bin/bundle exec puma -b unix:///var/run/diaspora/diaspora.sock -e $RAILS_ENV
Restart=always
CPUAccounting=true
MemoryAccounting=true
BlockIOAccounting=true
[Install]
WantedBy=diaspora.target

View file

@ -0,0 +1,18 @@
[Unit]
Description=Diaspora social network (worker %i)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
WorkingDirectory=/var/www/diaspora
Environment=RAILS_ENV=production
ExecStart=/var/www/diaspora/.rvm/scripts/extras/chruby.sh 2.2 -- bin/bundle exec sidekiq
Restart=always
CPUAccounting=true
MemoryAccounting=true
BlockIOAccounting=true
[Install]
WantedBy=diaspora.target
DefaultInstance=worker1

View file

@ -1,20 +1,26 @@
{ {
"name": "Diaspora", "name": "Diaspora",
"id": "diaspora", "id": "diaspora",
"url": "https://diasporafoundation.org",
"packaging_format": 1,
"description": { "description": {
"en": "Distributed social networking service", "en": "Distributed social networking service",
"fr": "Service de réseau social distribué" "fr": "Service de réseau social distribué"
}, },
"developer": { "licence": "free",
"maintainer": {
"name": "aymhce", "name": "aymhce",
"email": "aymhce@gmail.com", "email": "aymhce@gmail.com"
"url": "https://diasporafoundation.org"
}, },
"multi_instance": "true", "requirements": {
"yunohost": ">> 2.3.12.1"
},
"multi_instance": "false",
"arguments": { "arguments": {
"install" : [ "install" : [
{ {
"name": "domain", "name": "domain",
"type": "domain",
"ask": { "ask": {
"en": "Choose a domain for diaspora*", "en": "Choose a domain for diaspora*",
"fr": "Choisissez un domaine pour diaspora*" "fr": "Choisissez un domaine pour diaspora*"
@ -22,13 +28,13 @@
"example": "domain.org" "example": "domain.org"
}, },
{ {
"name": "public_site", "name": "site_public",
"type": "boolean",
"ask": { "ask": {
"en": "Is it a public Diaspora site?", "en": "Is it a public Diaspora site?",
"fr": "Est-ce un site public ?" "fr": "Est-ce un site public ?"
}, },
"choices": ["yes", "YES", "Yes", "no", "NO", "No"], "default": true
"default": "Yes"
} }
] ]
} }

View file

@ -2,18 +2,10 @@
# Retrieve arguments # Retrieve arguments
domain=$1 domain=$1
#user=$2
is_public=$2 is_public=$2
versionname=$(lsb_release -a | grep Codename | awk -F' ' '{print $2}') # Source YunoHost helpers
. /usr/share/yunohost/helpers
# Check user parameter
#sudo yunohost user list --json | grep -q "\"username\": \"$user\""
#if [[ ! $? -eq 0 ]]; then
# echo "Wrong user"
# exit 1
#fi
#sudo yunohost app setting diaspora admin_user -v $user
# Check domain/path availability # Check domain/path availability
sudo yunohost app checkurl $domain -a diaspora sudo yunohost app checkurl $domain -a diaspora
@ -28,30 +20,18 @@ full_url=https://$domain
sudo yunohost app setting diaspora final_path -v $final_path sudo yunohost app setting diaspora final_path -v $final_path
# Configure system apt-get
cat /etc/os-release | grep -q wheezy
if [ $? = 0 ]
then
cat /etc/apt/sources.list | grep -q backports
if [ $? != 0 ]
then
sudo su -c "echo 'deb http://http.debian.net/debian wheezy-backports main' >> /etc/apt/sources.list"
fi
fi
# Get sys deps # Get sys deps
sudo apt-get update sudo apt-get update
sudo apt-get install -y -- \ sudo apt-get install -y -- \
gawk libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake bison libffi-dev \ gawk libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake bison libffi-dev \
build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript git curl libmysqlclient-dev \ build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript git curl libmysqlclient-dev \
libmagickwand-dev nodejs-legacy npm libmagickwand-dev nodejs-legacy npm redis-server
[ "$versionname" == "wheezy" ] && sudo apt-get install -t wheezy-backports redis-server -y
[ "$versionname" != "wheezy" ] && sudo apt-get install redis-server -y
# Get source code # Get source code
git clone -b master git://github.com/diaspora/diaspora.git git clone -b master git://github.com/diaspora/diaspora.git
echo $(pwd)
sudo mkdir -p $final_path sudo mkdir -p $final_path
tar -cf source.tar.gz diaspora/ tar -cf source.tar.gz diaspora/
mv source.tar.gz diaspora/public/source.tar.gz mv source.tar.gz diaspora/public/source.tar.gz
@ -61,11 +41,11 @@ sudo cp -ar diaspora $final_path/../.
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d 'A-Za-z0-9' | sed -n 's/\(.\{24\}\).*/\1/p') db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d 'A-Za-z0-9' | sed -n 's/\(.\{24\}\).*/\1/p')
# Use 'diaspora' as database name and user # Use 'diaspora' as database name and user
db_user=diaspora db_user=diaspora
# Initialize database and store mysql password for upgrade # Initialize database and store mysql password for upgrade
sudo yunohost app initdb $db_user -p $db_pwd -d diaspora_production sudo yunohost app setting diaspora mysqlpwd -v "$db_pwd"
sudo yunohost app setting diaspora mysqlpwd -v $db_pwd ynh_mysql_create_db diaspora_production "$db_user" "$db_pwd"
# prepare and copy diaspora config file # prepare and copy diaspora config file
sed -i "s@FULLURLTOCHANGE@$full_url@g" ../conf/diaspora.yml sed -i "s@FULLURLTOCHANGE@$full_url@g" ../conf/diaspora.yml
@ -85,6 +65,7 @@ sudo chown -R diaspora:diaspora $final_path
# Config RVM and force get app deps (for debug) # Config RVM and force get app deps (for debug)
sudo su - diaspora -c "curl --retry 5 -sSL https://rvm.io/mpapis.asc | gpg --import - ; curl --retry 5 -L dspr.tk/1t | bash;" sudo su - diaspora -c "curl --retry 5 -sSL https://rvm.io/mpapis.asc | gpg --import - ; curl --retry 5 -L dspr.tk/1t | bash;"
sudo su - diaspora -c "curl --retry 5 -sSL https://s.diaspora.software/1t | bash;"
# Add user to sudoers for install # Add user to sudoers for install
DIASPORASUDOERSCONF="diaspora ALL=(ALL:ALL) NOPASSWD: ALL #yunhost_diaspora" DIASPORASUDOERSCONF="diaspora ALL=(ALL:ALL) NOPASSWD: ALL #yunhost_diaspora"