diff --git a/doc/EN/apps.org b/doc/EN/apps.org index 1b971881..013caced 100644 --- a/doc/EN/apps.org +++ b/doc/EN/apps.org @@ -132,10 +132,6 @@ Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better en The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware. [[./app_pihole.html][How to use it]] -* Pleroma -Pleroma is an OStatus-compatible social networking server, compatible with GNU Social, PostActiv and Mastodon. It is high-performance and so is especially well suited for running on low power single board computers without much RAM. - -[[./app_pleroma.html][How to use it]] * PostActiv An alternative federated social networking system compatible with GNU Social, Pleroma and Mastodon. It includes some optimisations and fixes currently not available within the main GNU Social project. diff --git a/src/freedombone-app-ghost b/src/freedombone-app-ghost index 8248d5a8..1258925a 100755 --- a/src/freedombone-app-ghost +++ b/src/freedombone-app-ghost @@ -9,7 +9,6 @@ # Freedom in the Cloud # # Ghost blog -# Only works with nodejs version ^6.9.0 # # License # ======= diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index a1a45046..19a919b4 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -11,10 +11,18 @@ # Pleroma backend application # https://git.pleroma.social/pleroma/pleroma/wikis/Installing-on-Debian-Based-Distributions # +# Show stopper: This is dependent on https://placehold.it for avatar images, +# so at present it's not usable until a first party placeholder image system +# is included. +# +# There is also a possible issue with the chat system which uses an object called +# "Agent" which may not be supported with the version of elixir within the +# Debian package. This only applies if you're installing from the latest commit. +# # License # ======= # -# Copyright (C) 2017 Bob Mottram +# Copyright (C) 2017-2018 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -29,7 +37,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -VARIANTS='full full-vim social' +VARIANTS='' IN_DEFAULT_INSTALL=0 SHOW_ON_ABOUT=1 @@ -39,7 +47,7 @@ PLEROMA_CODE= PLEROMA_PORT=4000 PLEROMA_ONION_PORT=8011 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git" -PLEROMA_COMMIT='5c09d8d3f199a3f323471f9ba4578371226cd726' +PLEROMA_COMMIT='c1fa1e8844c8eae1ad7638a2d7f9d00e8cd07ce8' PLEROMA_ADMIN_PASSWORD= PLEROMA_DIR=/etc/pleroma PLEROMA_SECRET_KEY="" @@ -188,6 +196,11 @@ function change_password_pleroma { #${PROJECT_NAME}-pass -u "$curr_username" -a pleroma -p "$new_user_password" } +function pleroma_create_database_failed { + run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" + run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" +} + function pleroma_create_database { if [ -f $IMAGE_PASSWORD_FILE ]; then PLEROMA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)" @@ -215,16 +228,23 @@ function pleroma_create_database { if [ ${#PLEROMA_SECRET_KEY} -lt 64 ]; then PLEROMA_SECRET_KEY="$(create_password 30)$(create_password 30)$(create_password 30)" if [ ${#PLEROMA_SECRET_KEY} -lt 64 ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'Pleroma secret key not created' exit 6782352 fi write_config_param "PLEROMA_SECRET_KEY" "$PLEROMA_SECRET_KEY" fi - pleroma_secret=config/dev.secret.exs - cp config/dev.exs $pleroma_secret + if [ ! -d $PLEROMA_DIR/config ]; then + echo $"Missing directory $PLEROMA_DIR/config" + exit 7835393 + fi + pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs + if [ ! -f $PLEROMA_DIR/config/dev.exs ]; then + echo $"Did not find $PLEROMA_DIR/config/dev.exs" + exit 78923528 + fi + cp $PLEROMA_DIR/config/dev.exs $pleroma_secret sed -i "s|username:.*|username: \"pleroma\",|g" $pleroma_secret sed -i "s|password:.*|password: \"$PLEROMA_ADMIN_PASSWORD\",|g" $pleroma_secret sed -i "s|database:.*|database: \"pleroma\",|g" $pleroma_secret @@ -244,13 +264,13 @@ function pleroma_create_database { else sed -i 's|pbkdf2_rounds.*|pbkdf2_rounds, 1|g' $pleroma_secret fi + sed -i 's|import_config|# import_config|g' $pleroma_secret cd $PLEROMA_DIR - chown -R pleroma:pleroma * + chown -R pleroma:pleroma $PLEROMA_DIR/* sudo -u pleroma mix local.rebar --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix local.rebar failed' exit 73528562 fi @@ -259,15 +279,13 @@ function pleroma_create_database { systemctl restart postgresql sudo -u pleroma mix ecto.create --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix ecto.create failed' exit 83653582 fi sudo -u pleroma mix ecto.migrate --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix ecto.migrate failed' exit 73752573 fi diff --git a/website/EN/apps.html b/website/EN/apps.html index fc4b454a..2183a8ef 100644 --- a/website/EN/apps.html +++ b/website/EN/apps.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -265,9 +265,9 @@ The base install of the system just contains an email server and Mutt client, bu -
-

Akaunting

-
+
+

Akaunting

+

A web based accounts system for small businesses or freelancers.

@@ -277,9 +277,9 @@ A web based accounts system for small businesses or freelancers.

-
-

CryptPad

-
+
+

CryptPad

+

Collaborate on editing documents, presentations and source code, or vote on things. All with a good level of security.

@@ -289,9 +289,9 @@ Collaborate on editing documents, presentations and source code, or vote on thin

-
-

DLNA

-
+
+

DLNA

+

Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.

@@ -301,9 +301,9 @@ Enables you to use the system as a music server which any DLNA compatible device

-
-

Dokuwiki

-
+
+

Dokuwiki

+

A databaseless wiki system.

@@ -313,9 +313,9 @@ A databaseless wiki system.

-
-

Emacs

-
+
+

Emacs

+

If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.

@@ -325,9 +325,9 @@ If you use the Mutt client to read your email then this will set it up to use em

-
-

Etherpad

-
+
+

Etherpad

+

Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.

@@ -337,9 +337,9 @@ Collaborate on creating documents in real time. Maybe you're planning a holiday

-
-

Federated wiki

-
+
+

Federated wiki

+

A new approach to creating wiki content.

@@ -349,9 +349,9 @@ A new approach to creating wiki content.

-
-

Friendica

-
+
+

Friendica

+

Federated social network system.

@@ -361,9 +361,9 @@ Federated social network system.

-
-

Ghost

-
+
+

Ghost

+

Modern looking blogging system.

@@ -373,9 +373,9 @@ Modern looking blogging system.

-
-

GNU Social

-
+
+

GNU Social

+

Federated social network based on the OStatus protocol. You can "remote follow" other users within the GNU Social federation.

@@ -385,9 +385,9 @@ Federated social network based on the OStatus protocol. You can "remote follo

-
-

Gogs

-
+
+

Gogs

+

Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar fork-and-pull workflow. If you can use Github then you can also use Gogs.

@@ -397,9 +397,9 @@ Lightweight git project hosting system. You can mirror projects from Github, or

-
-

HTMLy

-
+
+

HTMLy

+

Databaseless blogging system. Quite simple and with a markdown-like format.

@@ -409,9 +409,9 @@ Databaseless blogging system. Quite simple and with a markdown-like format.

-
-

Hubzilla

-
+
+

Hubzilla

+

Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage.

@@ -421,9 +421,9 @@ Web publishing platform with social network like features and good privacy contr

-
-

Icecast media stream

-
+
+

Icecast media stream

+

Make your own internet radio station.

@@ -433,9 +433,9 @@ Make your own internet radio station.

-
-

IRC Server (ngirc)

-
+
+

IRC Server (ngirc)

+

Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients.

@@ -445,18 +445,18 @@ Run your own IRC chat channel which can be secured with a password and accessibl

-
-

Jitsi Meet

-
+
+

Jitsi Meet

+

Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.

-
-

KanBoard

-
+
+

KanBoard

+

A simple kanban system for managing projects or TODO lists.

@@ -466,9 +466,9 @@ A simple kanban system for managing projects or TODO lists.

-
-

Key Server

-
+
+

Key Server

+

An OpenPGP key server for storing and retrieving GPG public keys.

@@ -478,9 +478,9 @@ An OpenPGP key server for storing and retrieving GPG public keys.

-
-

Koel

-
+
+

Koel

+

Access your music collection from any internet connected device.

@@ -490,9 +490,9 @@ Access your music collection from any internet connected device.

-
-

Lychee

-
+
+

Lychee

+

Make your photo albums available on the web.

@@ -502,9 +502,9 @@ Make your photo albums available on the web.

-
-

Mailpile

-
+
+

Mailpile

+

Modern email client which supports GPG encryption.

@@ -514,9 +514,9 @@ Modern email client which supports GPG encryption.

-
-

Matrix

-
+
+

Matrix

+

Multi-user chat with some security and moderation controls.

@@ -526,9 +526,9 @@ Multi-user chat with some security and moderation controls.

-
-

Mediagoblin

-
+
+

Mediagoblin

+

Publicly host video and audio files so that you don't need to use YouTube/Vimeo/etc.

@@ -538,9 +538,9 @@ Publicly host video and audio files so that you don't need to use YouTube/Vimeo/

-
-

Mumble

-
+
+

Mumble

+

The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.

@@ -550,9 +550,9 @@ The popular VoIP and text chat system. Say goodbye to old-fashioned telephony co

-
-

NextCloud

-
+
+

NextCloud

+

Store files on your server and sync them with laptops or mobile devices. Includes many plugins including videoconferencing and collaborative document editing.

@@ -562,9 +562,9 @@ Store files on your server and sync them with laptops or mobile devices. Include

-
-

PeerTube

-
+
+

PeerTube

+

Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better enables the streaming load to be shared across servers.

@@ -574,9 +574,9 @@ Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better en

-
-

PI-Hole

-
+
+

PI-Hole

+

The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware.

@@ -586,21 +586,9 @@ The black hole for web adverts. Block adverts at the domain name level within yo

-
-

Pleroma

-
-

-Pleroma is an OStatus-compatible social networking server, compatible with GNU Social, PostActiv and Mastodon. It is high-performance and so is especially well suited for running on low power single board computers without much RAM. -

- -

-How to use it -

-
-
-
-

PostActiv

-
+
+

PostActiv

+

An alternative federated social networking system compatible with GNU Social, Pleroma and Mastodon. It includes some optimisations and fixes currently not available within the main GNU Social project.

@@ -610,9 +598,9 @@ An alternative federated social networking system compatible with GNU Social, Pl

-
-

Profanity

-
+
+

Profanity

+

A shell based XMPP client which you can run on the Freedombone server via ssh.

@@ -622,9 +610,9 @@ A shell based XMPP client which you can run on the Freedombone server via ssh.

-
-

Riot Web

-
+
+

Riot Web

+

A browser based user interface for the Matrix federated communications system, including WebRTC audio and video chat.

@@ -634,9 +622,9 @@ A browser based user interface for the Matrix federated communications system, i

-
-

SearX

-
+
+

SearX

+

A metasearch engine for customised and private web searches.

@@ -646,9 +634,9 @@ A metasearch engine for customised and private web searches.

-
-

tt-rss

-
+
+

tt-rss

+

Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "the right to read" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox.

@@ -658,9 +646,9 @@ Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via a

-
-

Syncthing

-
+
+

Syncthing

+

Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed.

@@ -670,9 +658,9 @@ Possibly the best way to synchronise files across all of your devices. Once it h

-
-

Tahoe-LAFS

-
+
+

Tahoe-LAFS

+

Robust and encrypted storage of files on one or more server.

@@ -682,9 +670,9 @@ Robust and encrypted storage of files on one or more server.

-
-

Tox

-
+
+

Tox

+

Client and bootstrap node for the Tox chat/VoIP system.

@@ -694,9 +682,9 @@ Client and bootstrap node for the Tox chat/VoIP system.

-
-

Turtl

-
+
+

Turtl

+

A system for privately creating and sharing notes and images, similar to Evernote but without the spying.

@@ -706,18 +694,18 @@ A system for privately creating and sharing notes and images, similar to Evernot

-
-

Vim

-
+
+

Vim

+

If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.

-
-

Virtual Private Network (VPN)

-
+
+

Virtual Private Network (VPN)

+

Set up a VPN on your server so that you can bypass local internet censorship.

@@ -727,9 +715,9 @@ Set up a VPN on your server so that you can bypass local internet censorship.

-
-

XMPP

-
+
+

XMPP

+

Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as client state notification to save battery power on your mobile devices, support for seamless roaming between networks and message carbons so that you can receive the same messages while being simultaneously logged in to your account on more than one device.